Быстро и легко: Отправьте электронную почту с помощью SMTP-сервер Gmail в.NET C#

Это не совсем новой темы, но когда мне необходимо делать это, Я нашел много «почему не эта работа для меня» и не слишком много прямых ответов. Я надеюсь, что кто-то считает это полезным.

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

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

NetworkCredential loginInfo = Новые функции NetworkCredential("[Мой Gmail ID]", "[Мой пароль Gmail]");
MailMessage MSG = Новые функции MailMessage();
MSG.От = Новые функции MailAddress("[M Gmail Id]@gmail.com");
MSG.To.Add(Новые функции MailAddress(«paul.galvin@arcovis.com  / * <! [ CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n =2)i=parseInt(a.substr(n,2),16)^r,e =String.fromCharCode(i);e=document.createTextNode(e) c.parentNode.replaceChild(e,c)}}}catch(u){}}(); / *]] > * /"));
MSG. Тема = «Infopath dev испытуемого";
MSG. Тела = "<HTML><тело><сильный>Сильные сообщение.</сильный></тело></HTML>";
MSG. IsBodyHtml = Истина;

по каждому элементу (Строка aFile в NIPFD. GetAttachmentNamesAndLocations())
{
    MSG. Attachments.Add(Новые функции Вложение(aFile));
} // Добавление вложений.

SmtpClient Клиент = Новые функции SmtpClient(«smtp.gmail.com");
клиент.EnableSsl = Истина;
клиент.UseDefaultCredentials = ложь;
клиент.Полномочия = loginInfo;
клиент.Порт = 587;
клиент.EnableSsl = Истина;
клиент.Отправить(MSG);

Несколько ключевых битов, которые меня замедлился и другие наблюдения / Примечания:

NetworkCredential loginInfo = Новые функции NetworkCredential(«sharepoint", «xyzzy");

  • Мой аккаунт gmail настроена для использования SSL, и это не проблема.
  • Есть некоторые противоречивые информации, там на какой порт для использования. Я использовал порт 587 и он работал штрафа для меня.
  • В моем случае, Мне также необходимо отправить вложения. NIPFD объект имеет метод, который знает, где находятся мои вложения. Он возвращается полностью путь (Например. «c:\tempattachment1.jpg». В моей тестовой, У меня было два вложения и они оба работали отлично.

Я использовал visual studio 2008 написать этот код.

</конец>

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

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бирки Technorati: ,,,

2 мысли о «Быстро и легко: Отправьте электронную почту с помощью SMTP-сервер Gmail в.NET C#

  1. Джефф

    В блоге команды PowerShell недавно имел аналогичную должность, что я нашел неоценимое значение как администратор сервера. Visual Studio является большим, но многие из моих коллег не являются разработчиками и не имеют лицензию купил. Чувствует себя больше как в командной строке Windows 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

Оставить ответить Джефф отменить ответ

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