Брз и лесен: Испрати E-mail користите 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 проект]", "[Мојот Gmail Лозинка]");
MailMessage msg = нови MailMessage();
msg.From = нови MailAddress("[М Gmail Id]@ Gmail.com");
msg.To.Add(нови MailAddress("paul.galvin@arcovis.com"));
msg.Subject = "Test infopath dev subject";
msg.Body = "<html><тело><силна>А силна порака.</силна></тело></html>";
msg.IsBodyHtml = вистина;

foreach (низа 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 проект лишена од "@ 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. "В:\temp\attachment1.jpg”. In my test, Имав две додатоци и тие двајцата добро работеа.

Јас се користи Visual Studio 2008 да се напише овој код.

</крајот>

Да се ​​претплатите на мојот блог.

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

Technorati Тагови: ,,,

2 размислувања за "Брз и лесен: Испрати E-mail користите 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

Остави Одговори на Џеф Откажи одговор

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени *