Hızlı ve kolay: Gmail SMTP sunucu C# .NET kullanarak e-posta gönder

Bu kesinlikle yeni bir konu değil., Ama ne zaman bunu gerek, "Neden bu iş için beni değil" bir sürü buldum ve çok fazla doğrudan cevap. Umarım kimse bu yararlı bulur.

Aşağıdaki kod parçasını kendi gmail hesabı kullanarak e-posta göndereceğiz, ekler de dahil olmak:

kullanma System.Net.Mail;
kullanma System.Net;

NetworkCredential loginInfo = Yeni NetworkCredential("[Benim Gmail ID]", "[Benim Gmail şifre]");
MailMessage msg = Yeni MailMessage();
msg.From = Yeni MailAddress("[M Gmail Id]@gmail.com");
msg.To.Add(Yeni MailAddress("paul.galvin@arcovis.com"));
msg.Konu = "InfoPath dev konu testi";
msg.Beden = "<HTML><vücut><güçlü>Güçlü bir mesaj.</güçlü></vücut></HTML>";
msg.IsBodyHtml = TRUE;

foreach (dize Yerini içinde NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments.Add(Yeni Eki(Yerini));
} // Dosya ekleme.

SmtpClient istemci = Yeni SmtpClient("smtp.gmail.com");
istemci.EnableSsl = TRUE;
istemci.UseDefaultCredentials = yanlış;
istemci.Kimlik bilgileri loginInfo =;
istemci.Bağlantı noktası = 587;
istemci.EnableSsl = TRUE;
istemci.Gönder(msg);

Beni yavaşladı birkaç anahtar bit ve diğer gözlemler / Notlar:

  • LoginInfo nesnesi oluşturur ilk satırı kimliği elimden gmail kullanmak gereken "@gmail.com”. Yani, Eğer gmail e-posta adresim "Bunu sharepoint@gmail.com"ve benim parola"xyzzy"sonra satır gibi görünür:

NetworkCredential loginInfo = Yeni NetworkCredential("sharepoint", "xyzzy");

  • Gmail hesabıma SSL kullanacak şekilde kurulmuş ve bu bir sorun değildi.
  • Orada hangi noktasında kullanmak için bazı çelişkili bilgiler. Bağlantı noktası kullanılan 587 ve o amele para cezası için beni.
  • Benim durumumda, Ayrıca ekleri göndermek için gerekir. NIPFD nesnenin nerede benim ekleri olduğunu biliyor bir yöntem vardır. Tam yol geri geliyor (e.g. "c:\tempattachment1.jpg". Benim testte, İki ekleri vardı ve her ikisi de iyi çalıştı.

Visual studio kullanılan 2008 Bu kod yazmak için.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 “Üzerine düşüncelerHızlı ve kolay: Gmail SMTP sunucu C# .NET kullanarak e-posta gönder

  1. Jeff

    PowerShell Ekibi Web günlüğü, son zamanlarda bir sunucu admin çok değerli bulundu benzer bir yazı vardı. Visual Studio harika ama benim eş geliştiriciler değildir ve satın alınan lisans yok. PowerShell komut satırı gibi daha geldi ve onları daha kolay erişilebilir. Orada herhangi bir yöneticileri için sadece bir öneri.

    En iyi,
    Jeff (www.spjeff.com / @spjeff)

    Otomatik e-postalar göndermek MailMessage ile gönderme

    http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx

    Yanıtla

Cevap bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlendi *