Rapid şi uşor: Trimite E-mail folosind serverul de SMTP Gmail în .NET C#

Acest lucru nu este exact un subiect nou, dar când am nevoie pentru a face acest lucru, Am găsit o mulţime de "de ce nu vor acest lucru pentru mine" si nu prea multe raspunsuri directe. Sper ca cineva găseşte acest lucru util.

Următoarele pic de cod va trimite un e-mail folosind contul de gmail propria se face, inclusiv accesorii:

folosind System.Net.Mail;
folosind System.Net;

NetworkCredential loginInfo = noi NetworkCredential("[ID-ul meu Gmail]", "[Parola Gmail]");
MailMessage MSG = noi MailMessage();
msg.La = noi MailAddress("[M Gmail identitate]@gmail.com");
msg.To.Add(noi MailAddress("paul.galvin@arcovis.com < script-ul cf-hash = tip"f9e31"=" text/javascript"> / *  * /"));
msg. Subiect = "Test subiect de dev infopath";
msg. Corp = "<HTML><corpul><puternic>Un mesaj puternic.</puternic></corpul></HTML>";
msg. IsBodyHtml = adevărat;

foreach (şir aFile în NIPFD. GetAttachmentNamesAndLocations())
{
    msg. Attachments.Add(noi Ataşament(aFile));
} // Adăugând ataşări.

SmtpClient clientul = noi SmtpClient("smtp.gmail.com");
clientul.EnableSsl = adevărat;
clientul.UseDefaultCredentials = fals;
clientul.Acreditări = loginInfo;
clientul.Port = 587;
clientul.EnableSsl = adevărat;
clientul.Trimite(MSG);

Câteva biţi cheie care mi-a încetinit şi alte observaţii / note:

  • Prima linie care creează obiecte loginInfo trebuie să folosiţi gmail ID deposedat de "@gmail.com”. Deci, în cazul în care este adresa mea de e-mail gmail "a sharepoint@gmail.com"si parola este"xyzzy"apoi linia ar arata ca:

NetworkCredential loginInfo = noi NetworkCredential("sharepoint", "xyzzy");

  • Contul gmail este parametrizată pentru a utiliza SSL şi care nu a fost o problemă.
  • Există unele informaţii contradictorii acolo pe ce port pentru a utiliza. Am folosit portul 587 şi it worked fin pentru mine.
  • În cazul meu, De asemenea, am nevoie pentru a trimite ataşări. Că NIPFD obiect are o metodă care stie unde sunt ataşamentele mele. Acesta se întoarce o cale complet (ex. "c:\tempattachment1.jpg". În mea de test, Am avut două ataşamente şi ambele au lucrat bine.

Am folosit visual studio 2008 pentru a scrie acest cod.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 gânduri pe "Rapid şi uşor: Trimite E-mail folosind serverul de SMTP Gmail în .NET C#

  1. Jeff

    Blog-ul PowerShell echipa a avut recent un post similar, că am găsit nepreţuit ca un server de admin. Visual Studio este mare, dar mulţi dintre colegii mei nu sunt dezvoltatorii şi nu aveţi o licenţă achiziţionate. PowerShell se simte mai mult ca în linia de comandă şi este mai accesibil pentru ei. Doar o sugestie pentru orice administratori acolo.

    Cel mai bun,
    Jeff (www.spjeff.com / @spjeff)

    Trimite automat email-uri cu trimitere-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

    Răspuns

Lasă un răspuns la Jeff Anuleaza raspunsul

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *