Gmail üzerinden .NET'te e-posta gönderme


876

E-posta göndermek için ana makineme güvenmek yerine, e-posta iletilerini Gmail hesabımı kullanarak göndermeyi düşünüyordum . E-postalar şovumda çaldığım gruplara kişiselleştirilmiş e-postalardır.

Bunu yapmak mümkün mü?


1
< systemnetmail.com > muhtemelen tek bir .NET ad alanına adanmış en saçma sapan eksiksiz bir sitedir ... ancak ASP.NET veya Masaüstü olsun. NET üzerinden posta gönderme hakkında bilmek isteyebileceğiniz HER ŞEY vardır. < systemwebmail.com > yazıdaki orijinal URL'ydi , ancak .NET 2.0 ve üstü için kullanılmamalıdır.
Adam Haile

13
ASP.Net Mvc kullanıyorsanız, MvcMailer'e göz atmanızı tavsiye ederim: github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
noocyte 5:11

Bunu sitemde nasıl yapacağımıza güzel bir örnek var jarloo.com/gmail-in-c
Kelly

bu kodu kullanarak dosya nasıl gönderilir?
Ranadheer Reddy

Yanıtlar:


1065

Kullanımdan System.Net.Mailkaldırılmış değil, kullandığınızdan emin olun System.Web.Mail. SSL ile System.Web.Mailhacky uzantılarının kaba bir karmaşası.

using System.Net;
using System.Net.Mail;

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}

49
Google aniden son xx dakika içinde çok fazla yolladığınıza karar verirse, kullanıcının oturum açmamış hatalarını almaya devam edebilirsiniz. Hatalar bir süre uyuyorsa her zaman bir trySend eklemeniz ve sonra tekrar denemeniz gerekir.
Jason Short

72
İlginç not: 'UseDefaultCredentials = false' ve 'Credentials = ...' ifadelerini değiştirirseniz kimlik doğrulaması yapılmaz.
Nathan Wheeler

13
Bu yöntemi kullanırken SPF ile ilgili herhangi bir sorun yoktur. Her e-posta istemcisi tam olarak bunu yapacak şekilde yapılandırılabilir. Kendi sunucunuzu (yani başka bir şey smtp.gmail.com) something@gmail.comgönderen olarak kullanırsanız sorun yaşayabilirsiniz . Btw: smtp.gmail.comsize ait değilse gönderen adresinin üzerine otomatik olarak yazar.
Meinersbur

24
Çeşitli tweaks denerken bile bu işi almakta zorlanıyordum. İlgili bir gönderide önerildiği gibi, aslında e-postaların başarıyla gönderilmesini engelleyen antivirüsüm olduğunu gördüm. Söz konusu antivirüs McAffee'dir ve "Erişim Koruması", "Toplu posta solucanlarının e-posta göndermesini önle" kuralına sahip bir "Antivirüs Standart Koruması" kategorisine sahiptir. Bu kuralı düzeltmek / devre dışı bırakmak bu kodu benim için çalıştırdı!
yourbuddypal

18
İki faktörlü kimlik doğrulaması açık olan bir hesapla (kişisel hesabım) test ettiğimi anlayana kadar 5.5.1 Kimlik Doğrulaması Gerekli hata iletisini alıyordum. Bir zamanlar buna sahip olmayan bir hesap kullandığımda işe yaradı. Uygulamam için kişisel hesabımda test ettiğim bir şifre de oluşturabilirdim, ancak bunu yapmak istemedim.
Nick DeVore

153

Yukarıdaki cevap işe yaramıyor. Ayarlamanız gerekiyor DeliveryMethod = SmtpDeliveryMethod.Networkveya " istemci kimliği doğrulanmadı " hatasıyla geri dönecek . Ayrıca zaman aşımı yapmak her zaman iyi bir fikirdir.

Düzeltilmiş kod:

using System.Net.Mail;
using System.Net;

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@yahoo.com", "To Name");
const string fromPassword = "password";
const string subject = "test";
const string body = "Hey now!!";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
    Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}

3
İlginç; makinemde (TM) çalışıyor. Ama bu mantıklı göründüğünden, cevabımı ekleyeceğim.
Domenic

3
Hmm benim tahminim SmtpDeliveryMethod.Network varsayılan, ama belki IIS çalıştıran varsayılan değiştirilir --- ne yapıyordun?
Domenic

3
Konsol uygulamasında aynı kodu kullanıyorum, hata "Posta gönderilemedi."
Karthikeyan P

5
Bu cevap işe yaramıyor. Lütfen şu soruya bakın stackoverflow.com/questions/34851484/…

110

"Bir sunucudan" çalışmak için diğer yanıtlar için önce gmail hesabındaki daha az güvenli uygulamalar için Erişimi Açın .

Son zamanlarda google güvenlik politikasını değiştirmiş gibi görünüyor. En yüksek puanlı yanıt, hesap ayarlarınızı burada açıklandığı gibi değiştirene kadar artık çalışmıyor: https://support.google.com/accounts/answer/6010255?hl=trresim açıklamasını buraya girin

resim açıklamasını buraya girin

Mart 2016 itibarıyla, google ayar konumunu tekrar değiştirdi!


4
Bu benim için çalıştı. Ve aynı zamanda ilgili. Bu güvenliği kapatmak istediğimden emin değilim. Yeniden düşünmek gerekebilir ...
Sully

4
Güvenlik açısından, 2 adımlı Doğrulama'yı açmak ve ardından uygulama şifresini oluşturmak ve kullanmak daha iyi - Yeni güvenlik politikalarına göre .Net'te nasıl e-posta gönderilir?
Michael Freidgeim

2
@BCS Yazılım, inmy program, kullanıcı benim program göndermek için kullanmak zorunda herhangi bir e-posta göndermek düşünce göndermek. Peki, 2 faktörlü kimlik doğrulama açık olsa bile e-posta kullanıcı e-posta göndermek nasıl yapabilirim ??
Alaa

Bu, Google'ın GMail'i üzerinden e-posta göndermek / almak için bir Microsoft Outlook istemcisi (masaüstünde, cep telefonunda vb.) Kullanmak istiyorsanız değiştirmeniz gereken ayardır.
Brett Rigby

41

Bu ekli e-posta göndermek için .. Basit ve kısa ..

kaynak: http://coding-issues.blogspot.in/2012/11/sending-email-with-attachments-from-c.html

using System.Net;
using System.Net.Mail;

public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("your mail@gmail.com");
    mail.To.Add("to_mail@gmail.com");
    mail.Subject = "Test Mail - 1";
    mail.Body = "mail with attachment";

    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
    mail.Attachments.Add(attachment);

    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("your mail@gmail.com", "your password");
    SmtpServer.EnableSsl = true;

    SmtpServer.Send(mail);

}

21

Google, modern güvenlik standartlarını kullanmayan bazı uygulamaların veya cihazların oturum açma denemelerini engelleyebilir. Bu uygulamaların ve cihazların içine girmesi daha kolay olduğundan, bunları engellemek hesabınızı daha güvenli tutmanıza yardımcı olur.

En son güvenlik standartlarını desteklemeyen uygulamalara bazı örnekler:

  • İOS 6 veya daha düşük sürümlere sahip iPhone veya iPad'inizdeki Mail uygulaması
  • 8.1 sürümünden önceki Windows telefonunuzdaki Posta uygulaması
  • Microsoft Outlook ve Mozilla Thunderbird gibi bazı Masaüstü posta istemcileri

Bu nedenle, Daha Az Güvenli Oturum Açma özelliğini etkinleştirmeniz gerekir google hesabınızda gerekir.

Google hesabında oturum açtıktan sonra şu adrese gidin:

https://myaccount.google.com/lesssecureapps
veya
https://www.google.com/settings/security/lesssecureapps

C # 'da aşağıdaki kodu kullanabilirsiniz:

using (MailMessage mail = new MailMessage())
{
    mail.From = new MailAddress("email@gmail.com");
    mail.To.Add("somebody@domain.com");
    mail.Subject = "Hello World";
    mail.Body = "<h1>Hello</h1>";
    mail.IsBodyHtml = true;
    mail.Attachments.Add(new Attachment("C:\\file.zip"));

    using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
    {
        smtp.Credentials = new NetworkCredential("email@gmail.com", "password");
        smtp.EnableSsl = true;
        smtp.Send(mail);
    }
}


16

İşte benim sürüm: " Gmail kullanarak C # E-posta Gönder ".

using System;
using System.Net;
using System.Net.Mail;

namespace SendMailViaGmail
{
   class Program
   {
   static void Main(string[] args)
   {

      //Specify senders gmail address
      string SendersAddress = "Sendersaddress@gmail.com";
      //Specify The Address You want to sent Email To(can be any valid email address)
      string ReceiversAddress = "ReceiversAddress@yahoo.com";
      //Specify The password of gmial account u are using to sent mail(pw of sender@gmail.com)
      const string SendersPassword = "Password";
      //Write the subject of ur mail
      const string subject = "Testing";
      //Write the contents of your mail
      const string body = "Hi This Is my Mail From Gmail";

      try
      {
        //we will use Smtp client which allows us to send email using SMTP Protocol
        //i have specified the properties of SmtpClient smtp within{}
        //gmails smtp server name is smtp.gmail.com and port number is 587
        SmtpClient smtp = new SmtpClient
        {
           Host = "smtp.gmail.com",
           Port = 587,
           EnableSsl = true,
           DeliveryMethod = SmtpDeliveryMethod.Network,
           Credentials    = new NetworkCredential(SendersAddress, SendersPassword),
           Timeout = 3000
        };

        //MailMessage represents a mail message
        //it is 4 parameters(From,TO,subject,body)

        MailMessage message = new MailMessage(SendersAddress, ReceiversAddress, subject, body);
        /*WE use smtp sever we specified above to send the message(MailMessage message)*/

        smtp.Send(message);
        Console.WriteLine("Message Sent Successfully");
        Console.ReadKey();
     }

     catch (Exception ex)
     {
        Console.WriteLine(ex.Message);
        Console.ReadKey();
     }
    }
   }
 }

8
Makaleniz aslında soruyu cevaplasa da , cevabın önemli kısımlarını buraya eklemek ve referans için bağlantı sağlamak tercih edilir. Yığın Taşması yalnızca soruları ve cevapları kadar yararlıdır ve blog barındırıcınız kapanırsa veya URL'leriniz taşınırsa, bu cevap işe yaramaz hale gelir. Teşekkürler!
Ocak'ta sarnold

14

Umarım bu kod iyi çalışır. Bir deneyebilirsiniz.

// Include this.                
using System.Net.Mail;

string fromAddress = "xyz@gmail.com";
string mailPassword = "*****";       // Mail id password from where mail will be sent.
string messageBody = "Write the body of the message here.";


// Create smtp connection.
SmtpClient client = new SmtpClient();
client.Port = 587;//outgoing port for the mail.
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(fromAddress, mailPassword);


// Fill the mail form.
var send_mail = new MailMessage();

send_mail.IsBodyHtml = true;
//address from where mail will be sent.
send_mail.From = new MailAddress("from@gmail.com");
//address to which mail will be sent.           
send_mail.To.Add(new MailAddress("to@example.com");
//subject of the mail.
send_mail.Subject = "put any subject here";

send_mail.Body = messageBody;
client.Send(send_mail);

2
mesaj send_mail = yeni MailMessage (); Bu çizginin nasıl çalıştığı düşünülüyor? 'System.Net.Mail.MailMessage' öğesini 'System.Windows.Forms.Message' 'ye dolaylı olarak dönüştüremezsiniz
Debaprasad

9

Bunu dahil et,

using System.Net.Mail;

Ve sonra,

MailMessage sendmsg = new MailMessage(SendersAddress, ReceiversAddress, subject, body); 
SmtpClient client = new SmtpClient("smtp.gmail.com");

client.Port = Convert.ToInt16("587");
client.Credentials = new System.Net.NetworkCredential("mail-id@gmail.com","password");
client.EnableSsl = true;

client.Send(sendmsg);

8

Kaynak : ASP.NET C # ile e-posta gönder

Aşağıda C # kullanarak bir posta göndermek için örnek bir çalışma kodu, aşağıdaki örnekte google'ın smtp sunucusunu kullanıyorum.

Kod oldukça açıklayıcıdır, e-posta ve şifreyi e-posta ve şifre değerlerinizle değiştirin.

public void SendEmail(string address, string subject, string message)
{
    string email = "yrshaikh.mail@gmail.com";
    string password = "put-your-GMAIL-password-here";

    var loginInfo = new NetworkCredential(email, password);
    var msg = new MailMessage();
    var smtpClient = new SmtpClient("smtp.gmail.com", 587);

    msg.From = new MailAddress(email);
    msg.To.Add(new MailAddress(address));
    msg.Subject = subject;
    msg.Body = message;
    msg.IsBodyHtml = true;

    smtpClient.EnableSsl = true;
    smtpClient.UseDefaultCredentials = false;
    smtpClient.Credentials = loginInfo;
    smtpClient.Send(msg);
}

Var yerine, NetworkCredential, MailMessage ve SmtpClient gibi sınıf adını kullandım.
Jui Testi

7

Arka plan e-postası göndermek istiyorsanız, lütfen aşağıdakileri yapın

 public void SendEmail(string address, string subject, string message)
 {
 Thread threadSendMails;
 threadSendMails = new Thread(delegate()
    {

      //Place your Code here 

     });
  threadSendMails.IsBackground = true;
  threadSendMails.Start();
}

ve ad alanı ekle

using System.Threading;


5

Bunu dene,

    private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

            mail.From = new MailAddress("your_email_address@gmail.com");
            mail.To.Add("to_address");
            mail.Subject = "Test Mail";
            mail.Body = "This is for testing SMTP mail from GMAIL";

            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
            SmtpServer.EnableSsl = true;

            SmtpServer.Send(mail);
            MessageBox.Show("mail Send");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

4

bu şekilde kullan

MailMessage sendmsg = new MailMessage(SendersAddress, ReceiversAddress, subject, body); 
SmtpClient client = new SmtpClient("smtp.gmail.com");

client.Port = Convert.ToInt32("587");
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential("mail-id@gmail.com","MyPassWord");
client.Send(sendmsg);

Bunu unutma:

using System.Net;
using System.Net.Mail;

4

Gmail'deki güvenlik sorunlarını önlemek için, önce Gmail ayarlarınızdan bir uygulama şifresi oluşturmalısınız ve iki adımlı doğrulama kullansanız bile e-posta göndermek için gerçek bir şifre yerine bu şifreyi kullanabilirsiniz.


3

Gmail / Outlook.com e-postasındaki göndereni değiştirme:

Kimlik sahtekarlığını önlemek için - Gmail / Outlook.com, rasgele bir kullanıcı hesabı adından göndermenize izin vermez.

Sınırlı sayıda göndericiniz varsa bu talimatları izleyebilir ve ardından Fromalanı bu adrese ayarlayabilirsiniz : Farklı bir adresten posta gönderme

Yapabileceğiniz en iyi şey hakkında keyfi bir e-posta adresinden (kullanıcının e-postalarını girdiği web sitesinde bir geri bildirim formu gibi ve size doğrudan e-posta göndermesini istemiyorsanız) göndermek istiyorsanız:

        msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName));

Bu, bir geri bildirim sayfasında grubunuzun hayranına yanıt vermek için e-posta hesabınızdaki 'yanıtla'yı tıklamanıza izin verir, ancak gerçek e-postanızı bir ton istenmeyen postaya götürmez.

Kontrollü bir ortamdaysanız, bu harika çalışır, ancak yanıt belirtilse bile bazı e-posta istemcilerinin gönderen adrese gönderdiğini gördüğümü lütfen unutmayın (hangisini bilmiyorum).


3

Aynı sorunu yaşadım, ancak gmail'in güvenlik ayarlarına giderek ve Daha Az Güvenli uygulamalara izin vererek çözüldü . Domenic & Donny'den gelen Kod çalışır, ancak yalnızca bu ayarı etkinleştirdiyseniz

(Google'da) oturum açtıysanız bu bağlantıyı izleyebilir ve "Daha az güvenli uygulamalara erişim " için " Aç" arasında geçiş yapabilirsiniz


3
using System;
using System.Net;
using System.Net.Mail;

namespace SendMailViaGmail
{
   class Program
   {
   static void Main(string[] args)
   {

      //Specify senders gmail address
      string SendersAddress = "Sendersaddress@gmail.com";
      //Specify The Address You want to sent Email To(can be any valid email address)
      string ReceiversAddress = "ReceiversAddress@yahoo.com";
      //Specify The password of gmial account u are using to sent mail(pw of sender@gmail.com)
      const string SendersPassword = "Password";
      //Write the subject of ur mail
      const string subject = "Testing";
      //Write the contents of your mail
      const string body = "Hi This Is my Mail From Gmail";

      try
      {
        //we will use Smtp client which allows us to send email using SMTP Protocol
        //i have specified the properties of SmtpClient smtp within{}
        //gmails smtp server name is smtp.gmail.com and port number is 587
        SmtpClient smtp = new SmtpClient
        {
           Host = "smtp.gmail.com",
           Port = 587,
           EnableSsl = true,
           DeliveryMethod = SmtpDeliveryMethod.Network,
           Credentials = new NetworkCredential(SendersAddress, SendersPassword),
           Timeout = 3000
        };

        //MailMessage represents a mail message
        //it is 4 parameters(From,TO,subject,body)

        MailMessage message = new MailMessage(SendersAddress, ReceiversAddress, subject, body);
        /*WE use smtp sever we specified above to send the message(MailMessage message)*/

        smtp.Send(message);
        Console.WriteLine("Message Sent Successfully");
        Console.ReadKey();
     }
     catch (Exception ex)
     {
        Console.WriteLine(ex.Message);
        Console.ReadKey();
     }
}
}
}

2

Web.config'den posta gönderme ve kimlik bilgilerini alma yöntemlerinden biri:

public static string SendEmail(string To, string Subject, string Msg, bool bodyHtml = false, bool test = false, Stream AttachmentStream = null, string AttachmentType = null, string AttachmentFileName = null)
{
    try
    {
        System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
        newMsg.BodyEncoding = System.Text.Encoding.UTF8;
        newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
        newMsg.SubjectEncoding = System.Text.Encoding.UTF8;

        System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
        if (AttachmentStream != null && AttachmentType != null && AttachmentFileName != null)
        {
            System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentStream, AttachmentFileName);
            System.Net.Mime.ContentDisposition disposition = attachment.ContentDisposition;
            disposition.FileName = AttachmentFileName;
            disposition.DispositionType = System.Net.Mime.DispositionTypeNames.Attachment;

            newMsg.Attachments.Add(attachment);
        }
        if (test)
        {
            smtpClient.PickupDirectoryLocation = "C:\\TestEmail";
            smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;
        }
        else
        {
            //smtpClient.EnableSsl = true;
        }

        newMsg.IsBodyHtml = bodyHtml;
        smtpClient.Send(newMsg);
        return SENT_OK;
    }
    catch (Exception ex)
    {

        return "Error: " + ex.Message
             + "<br/><br/>Inner Exception: "
             + ex.InnerException;
    }

}

Ve web.config dosyasındaki ilgili bölüm:

<appSettings>
    <add key="mailCfg" value="yourmail@example.com"/>
</appSettings>
<system.net>
  <mailSettings>
    <smtp deliveryMethod="Network" from="yourmail@example.com">
      <network defaultCredentials="false" host="mail.exapmple.com" userName="yourmail@example.com" password="your_password" port="25"/>
    </smtp>
  </mailSettings>
</system.net>

2

Bunu dene

public static bool Send(string receiverEmail, string ReceiverName, string subject, string body)
{
        MailMessage mailMessage = new MailMessage();
        MailAddress mailAddress = new MailAddress("abc@gmail.com", "Sender Name"); // abc@gmail.com = input Sender Email Address 
        mailMessage.From = mailAddress;
        mailAddress = new MailAddress(receiverEmail, ReceiverName);
        mailMessage.To.Add(mailAddress);
        mailMessage.Subject = subject;
        mailMessage.Body = body;
        mailMessage.IsBodyHtml = true;

        SmtpClient mailSender = new SmtpClient("smtp.gmail.com", 587)
        {
            EnableSsl = true,
            UseDefaultCredentials = false,
            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential("abc@gmail.com", "pass")   // abc@gmail.com = input sender email address  
                                                                           //pass = sender email password
        };

        try
        {
            mailSender.Send(mailMessage);
            return true;
        }
        catch (SmtpFailedRecipientException ex)
        { 
          // Write the exception to a Log file.
        }
        catch (SmtpException ex)
        { 
           // Write the exception to a Log file.
        }
        finally
        {
            mailSender = null;
            mailMessage.Dispose();
        }
        return false;
}

1

Benim için sorun parolamın içinde sorunlara yol açacağını fark etmeden kopyaladığım bir "" eğik çizgi "olmasıydı .


1

Başka bir yanıttan kopyalandığında , yukarıdaki yöntemler işe yarar ancak gmail her zaman "gönderen" ve "yanıtla" e-postasını gerçek gönderen gmail hesabıyla değiştirir. görünüşe göre etrafında bir çalışma var:

http://karmic-development.blogspot.in/2013/10/send-email-from-aspnet-using-gmail-as.html

"3. Hesaplar Sekmesinde" Sahip olduğunuz başka bir e-posta adresini ekleyin "bağlantısını tıklayın ve ardından doğrulayın" bağlantısını tıklayın.

Veya muhtemelen bu

Güncelleme 3: Okuyucu Derek Bennett, "Çözüm, Gmail ayarlarınıza gitmek: Hesaplar ve" Varsayılan yap "ı gmail hesabınızdan başka bir hesaptır. Bu, gmail'in Kimden alanını varsayılan hesabın e-postasıyla yeniden yazmasına neden olur adres. "


1

Deneyebilirsiniz Mailkit. Size posta göndermek için daha iyi ve gelişmiş işlevsellik sağlar. Sen daha bulabilirsiniz bu İşte bir örnek

    MimeMessage message = new MimeMessage();
    message.From.Add(new MailboxAddress("FromName", "YOU_FROM_ADDRESS@gmail.com"));
    message.To.Add(new MailboxAddress("ToName", "YOU_TO_ADDRESS@gmail.com"));
    message.Subject = "MyEmailSubject";

    message.Body = new TextPart("plain")
    {
        Text = @"MyEmailBodyOnlyTextPart"
    };

    using (var client = new SmtpClient())
    {
        client.Connect("SERVER", 25); // 25 is port you can change accordingly

        // Note: since we don't have an OAuth2 token, disable
        // the XOAUTH2 authentication mechanism.
        client.AuthenticationMechanisms.Remove("XOAUTH2");

        // Note: only needed if the SMTP server requires authentication
        client.Authenticate("YOUR_USER_NAME", "YOUR_PASSWORD");

        client.Send(message);
        client.Disconnect(true);
    }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.