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>
Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin
Curat şi simplu…
Multumesc pentru partajarea.
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