Бърз и лесен: Изпращане на имейл използвате Gmail SMTP сървър в .NET буквата C#

Това не е точно нова тема, но когато трябваше да го направя, Открих много "Защо няма тази работа за мен" и не твърде много директни отговори. Надявам се някой намери тази полезна.

Следният код ще изпрати имейл, използвайки моя gmail акаунт да го направя, включително прикачените файлове:

използване на System.Net.Mail;
използване на System.Net;

NetworkCredential loginInfo = нов NetworkCredential("[Моя Gmail ID.]", "[Паролата си в Gmail]");
MailMessage MSG = нов MailMessage();
MSG. От = нов MailAddress("[М Gmail ИД]@gmail.com");
MSG. To.Add(нов MailAddress("paul.galvin@arcovis.com"));
MSG. Обект = "Предмет тест infopath dev";
MSG. Тялото = "<HTML><тяло><силна>Силно послание.</силна></тяло></HTML>";
MSG. IsBodyHtml = вярно;

foreach (низ aFile в NIPFD.GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(нов Прикачен файл(aFile));
} // Добавяне на прикачени файлове.

SmtpClient клиент = нов SmtpClient("smtp.gmail.com");
клиент.EnableSsl = вярно;
клиент.UseDefaultCredentials = фалшиви;
клиент.Идентификационни данни = loginInfo;
клиент.Порт = 587;
клиент.EnableSsl = вярно;
клиент.Изпрати(MSG);

Няколко основни бита, което ме забави и други наблюдения / бележки:

  • Първият ред, който създава на loginInfo обект трябва да използват gmail, ИД лишен от "@gmail.com”. Така, Ако my gmail email обръщение е "sharepoint@gmail.com"и парола е"xyzzy"редът ще изглежда така:

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

  • My gmail сметка е настроена да използва SSL и че не е проблем.
  • Има някои противоречива информация там за какво порт за използване. Аз използван порт 587 и то работник глоба за me.
  • В моя случай, Също така е необходимо да изпращате прикачени файлове. Че NIPFD обект има метод, който знае къде са мой прикачени файлове. Това е връщане напълно път (e.g. "c:\tempattachment1.jpg". В моя тест, Имах две приложения и те работник глоба.

Аз използван visual studio 2008 да пишете този код.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Technorati тагове: ,,,

2 мисли за "Бърз и лесен: Изпращане на имейл използвате Gmail SMTP сървър в .NET буквата C#

  1. Джеф

    PowerShell екип блог наскоро имаше подобен пост, че намерих безценен като сървър администратор. Visual Studio е страхотно, но много от колегите ми не са разработчиците и нямате лиценз, закупени. PowerShell чувства повече като командния ред и е по-достъпна за тях. Само едно предложение за всички администратори, там.

    Най-добър,
    Джеф (www.spjeff.com / @spjeff)

    Изпращане на автоматичен имейли с изпращане-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

Оставете отговор Джеф Отказване на отговора

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *