Швидкий і простий: Відправити пошту, використовуючи SMTP-сервер Gmail в .NET, C#

Це не зовсім нова тема, але коли мені потрібно Зроби, Я знайшов багато "Чому не буде ця робота для мене" і не занадто багато прямі відповіді. Я сподіваюся, що хтось вважає, що це корисна.

Наступні розрядний код надішлемо вам електронне повідомлення, використовуючи мій власний обліковий запис gmail це зробити, разом із вкладеннями:

за допомогою System.Net.Mail;
за допомогою System.Net;

NetworkCredential loginInfo = нові NetworkCredential("[Мій ID Gmail]", "[Мій пароль Gmail]");
MailMessage MSG = нові MailMessage();
MSG.З = нові MailAddress("[M Gmail Id]@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, позбавлений ID "@gmail.com”. Так, Якщо мою адресу електронної пошти gmail "sharepoint@gmail.com"а мій пароль"xyzzy"потім лінія буде виглядати:

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

  • Мій обліковий запис gmail настроєно на використання SSL і що це не проблема.
  • Є деякі суперечливу інформацію там про те, який порт використовувати. Я використав порт 587 і він працював штрафу для мене.
  • У моєму випадку, Мені також потрібно надіслати вкладення. Що NIPFD об'єкт має метод, який знає, де мої вкладення. Він повертається повністю шлях (Наприклад. "c:\tempattachment1.jpg". У моєму тест, У мене було два вкладеннями і вони обидва працював штрафу.

Я використав Приєднуйтесь до нас 2008 щоб написати цей код.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Бірки Technorati: ,,,

2 думки про «Швидкий і простий: Відправити пошту, використовуючи SMTP-сервер Gmail в .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

Дати відповідь

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *