Rychlé a snadné: Odeslat E-mail pomocí serveru SMTP služby Gmail v .NET C#

Není to přesně nové téma, Ale když jsem musel udělat to, Našel jsem spoustu "Proč nebude tato práce pro mě" a ne příliš mnoho přímé odpovědi. Doufám, že někdo najde to užitečné.

Následující kus kódu odešle e-mail pomocí účtu služby gmail na to, včetně příloh:

použití System.Net.Mail;
použití System.Net;

NetworkCredential loginInfo = nové NetworkCredential("[Můj Gmail ID]", "[Gmail heslo]");
MailMessage MSG = nové MailMessage();
MSG.Z = nové MailAddress("[M Gmail Id]@gmail.com");
MSG.To.Add(nové MailAddress("paul.galvin@arcovis.com"));
MSG.Předmět = "Testovací aplikace infopath dev předmět";
MSG.Tělo = "<HTML><tělo><silná>Silné poselství.</silná></tělo></HTML>";
MSG.IsBodyHtml = pravda;

foreach (řetězec aFile v NIPFD.GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(nové Příloha(aFile));
} // Přidání příloh.

SmtpClient klient = nové SmtpClient("smtp.gmail.com");
klient.EnableSsl = pravda;
klient.UseDefaultCredentials = NEPRAVDA;
klient.Pověření = loginInfo;
klient.Port = 587;
klient.EnableSsl = pravda;
klient.Odeslat(MSG);

Několik klíčových bitů, které mě zpomalil a jiné poznámky / poznámky:

  • První řádek, který vytvoří objekt loginInfo, musí používat gmail, který ID zbaven "@gmail.com”. Tak, Pokud je moje e-mailová adresa služby gmail ", sharepoint@gmail.com"a moje heslo je"xyzzy"pak řádku vypadat:

NetworkCredential loginInfo = nové NetworkCredential("sharepoint", "xyzzy");

  • Můj účet gmail je nastavena na používání protokolu SSL a to nebyl problém.
  • Některé konfliktu informací tam na jaký port k použití. Použil jsem port 587 a fungovalo to dobře pro mě.
  • V mém případě, Také jsem musel poslat přílohy. NIPFD objekt má metodu, která ví, kde jsou mé přílohy. Vrací se plně cestu (např.. "c:\tempattachment1.jpg". V mém testu, Měl jsem dvě přílohy a oba pracoval citlivý.

Použil jsem aplikaci visual studio 2008 Chcete-li vytvořit tento kód.

</Konec>

Přihlásit se na mém blogu.

Za mnou na Twitter na http://www.twitter.com/pagalvin

Doplněk Technorati značky: ,,,

2 myšlenky na „Rychlé a snadné: Odeslat E-mail pomocí serveru SMTP služby Gmail v .NET C#

  1. Jeff

    PowerShell Team blog nedávno měl podobný post, který jsem našel neocenitelné jako server admin. Sada Visual Studio je skvělý, ale mnoho mých vrstevníků nejsou vývojáři a nemají licenci zakoupili. PowerShell cítí spíše jako příkazového řádku a je přístupnější pro ně. Jen návrh pro všechny administrátory, tam.

    Nejlepší,
    Jeff (www.spjeff.com / @spjeff)

    Odeslání automatické emaily s MailMessage Odeslat

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

Zanech odpověď

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *