Není to přesně nové téma, Ale když jsem musel udělat to, Našel jsem spoustu "Proč nebude tato práce pro mě" a ne příliš mnoho přímé odpovědi. Doufám, že někdo najde to užitečné.
Následující kus kódu odešle e-mail pomocí účtu služby gmail na to, včetně příloh:
použití System.Net.Mail; použití System.Net; NetworkCredential loginInfo = nové NetworkCredential("[Můj Gmail ID]", "[Gmail heslo]"); MailMessage MSG = nové MailMessage(); MSG.Z = nové MailAddress("[M Gmail Id]@gmail.com"); MSG.To.Add(nové MailAddress("paul.galvin@arcovis.com")); MSG.Předmět = "Testovací aplikace infopath dev předmět"; MSG.Tělo = "<HTML><tělo><silná>Silné poselství.</silná></tělo></HTML>"; MSG.IsBodyHtml = pravda; foreach (řetězec aFile v NIPFD.GetAttachmentNamesAndLocations()) { MSG.Attachments.Add(nové Příloha(aFile)); } // Přidání příloh. SmtpClient klient = nové SmtpClient("smtp.gmail.com"); klient.EnableSsl = pravda; klient.UseDefaultCredentials = NEPRAVDA; klient.Pověření = loginInfo; klient.Port = 587; klient.EnableSsl = pravda; klient.Odeslat(MSG); |
Několik klíčových bitů, které mě zpomalil a jiné poznámky / poznámky:
- První řádek, který vytvoří objekt loginInfo, musí používat gmail, který ID zbaven "@gmail.com”. Tak, Pokud je moje e-mailová adresa služby gmail ", sharepoint@gmail.com"a moje heslo je"xyzzy"pak řádku vypadat:
NetworkCredential loginInfo = nové NetworkCredential("sharepoint", "xyzzy");
- Můj účet gmail je nastavena na používání protokolu SSL a to nebyl problém.
- Některé konfliktu informací tam na jaký port k použití. Použil jsem port 587 a fungovalo to dobře pro mě.
- V mém případě, Také jsem musel poslat přílohy. NIPFD objekt má metodu, která ví, kde jsou mé přílohy. Vrací se plně cestu (např.. "c:\tempattachment1.jpg". V mém testu, Měl jsem dvě přílohy a oba pracoval citlivý.
Použil jsem aplikaci visual studio 2008 Chcete-li vytvořit tento kód.
</Konec>
Za mnou na Twitter na http://www.twitter.com/pagalvin
Čisté a jednoduché…
Díky za sdílení.
PowerShell Team blog nedávno měl podobný post, který jsem našel neocenitelné jako server admin. Sada Visual Studio je skvělý, ale mnoho mých vrstevníků nejsou vývojáři a nemají licenci zakoupili. PowerShell cítí spíše jako příkazového řádku a je přístupnější pro ně. Jen návrh pro všechny administrátory, tam.
Nejlepší,
Jeff (www.spjeff.com / @spjeff)
Odeslání automatické emaily s MailMessage Odeslat
http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx