Хутка і лёгка: Адправіць Электронная пошта Gmail SMTP сервер. NET C #

Гэта не зусім новую тэму, але калі я павінен быў зрабіць гэта, I found a lot of “why won’t this work for me” and not too many direct answers. I hope someone finds this useful.

Наступны кавалак кода адправіць электронны ліст з дапамогай майго ўласнага акаўнта Gmail, каб зрабіць гэта, уключаючы ўкладанні:

выкарыстанне System.Net.Mail;
выкарыстанне System.Net;

NetworkCredential loginInfo = новы NetworkCredential("[Мой Gmail ID]", "[Мой пароля Gmail]");
MailMessage MSG = новы MailMessage();
msg.From = новы MailAddress("[M Gmail Id]@ Gmail.com");
msg.To.Add(новы MailAddress("paul.galvin@arcovis.com"));
msg.Subject = "Test infopath dev subject";
msg.Body = "<HTML><цела><моцны>Моцны паведамленні.</моцны></цела></HTML>";
msg.IsBodyHtml = праўда;

Еогеасп (радок AFile ў NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments.Add(новы Прыхільнасць(AFile));
} // Даданне укладанняў.

SmtpClient Кліент = новы SmtpClient("smtp.gmail.com");
client.EnableSsl = праўда;
client.UseDefaultCredentials = ілжывы;
client.Credentials = loginInfo;
client.Port = 587;
client.EnableSsl = праўда;
client.Send(MSG);

Некалькі ключавых бітаў, якія замарудзіла мяне і іншых назіранняў / ноты:

  • Першая лінія, якая стварае loginInfo аб'ект павінен выкарыстоўваць Gmail ID пазбаўлены "@ Gmail.com". Так, калі мой Gmail адрас электроннай пошты "Sharepoint@gmail.com»І мой пароль" XYZZY ", то радок будзе выглядаць:

NetworkCredential loginInfo = новы NetworkCredential("sharepoint", "XYZZY");

  • Мая уліковы запіс Gmail настроены на выкарыстанне SSL, і гэта было не праблема.
  • There is some conflicting information out there on what port to use. I used port 587 і ён працаваў штрафу для мяне.
  • У маім выпадку, I also needed to send attachments. That NIPFD object has a method that knows where my attachments are. It’s returning a fully path (e.g. "C:\temp\attachment1.jpg”. In my test, У мяне было два ўкладанні, і яны абодва добра працавалі.

Я выкарыстаў Visual Studio 2008 пісаць гэты код.

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

Technorati Тэгі: ,,,

2 думкі пра «Хутка і лёгка: Адправіць Электронная пошта Gmail SMTP сервер. NET C #

  1. Джэф

    Блог PowerShell каманда нядаўна быў падобны пост, які я знайшоў бясцэнны як адміністратара сервера. Visual Studio з'яўляецца вялікім, але многія з маіх калег не з'яўляюцца распрацоўшчыкамі і не маюць ліцэнзіі, набытай. PowerShell адчувае сябе больш як камандны радок і з'яўляецца для іх больш даступнымі. Проста прапанова для любога адміністратараў там.

    Лепшы,
    Джэф (www.spjeff.com / @ Spjeff)

    Адпраўка лісты з аўтаматызаванай Send-MailMessage

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

Пакінуць каментар да Джэф адмяніць адказ

Ваш электронны адрас не будзе апублікаваны. Абавязковыя палі пазначаныя * *