Dit is niet precies een nieuw onderwerp, maar toen ik nodig om het te doen, Ik vond een heleboel "waarom niet zulks werkzaamheden voor mij" en niet te veel directe antwoorden. Ik hoop dat iemand vindt dit nuttig.
De volgende bits van code stuurt een e-mail met mijn eigen gmail-account om het te doen, inclusief bijlagen:
met behulp van System.Net.Mail; met behulp van System.Net; NetworkCredential loginInfo = Nieuw NetworkCredential("[Mijn Gmail identiteitskaart]", "[Mijn Gmail-wachtwoord]"); MailMessage msg = Nieuw MailMessage(); msg. Van = Nieuw Mailadres("[M Gmail identiteitskaart]@gmail.com"); msg. To.Add(Nieuw Mailadres("paul.galvin@arcovis.com")); msg. Onderwerp = "Infopath dev proefpersoon"; msg.Lichaam = "<HTML><lichaam><sterke>Een krachtige boodschap.</sterke></lichaam></HTML>"; msg.IsBodyHtml = True; foreach (tekenreeks aFile in NIPFD.GetAttachmentNamesAndLocations()) { msg.Attachments.Add(Nieuw Bijlage(aFile)); } // Bijlagen toe te voegen. SmtpClient klant = Nieuw SmtpClient("smtp.gmail.com"); client.EnableSsl = True; client.UseDefaultCredentials = vals; client.Referenties = loginInfo; client.Poort = 587; client.EnableSsl = True; client.Verzenden(msg); |
Een paar belangrijke stukjes die me vertraagd en andere opmerkingen / notities:
- De eerste regel dat het loginInfo-object maakt nodig heeft om de ID ontdaan van gmail te gebruiken "@gmail.com”. Dus, Als mijn gmail emailadres is "sharepoint@gmail.com"en mijn wachtwoord is"xyzzy"daarna de lijn zou uitzien:
NetworkCredential loginInfo = Nieuw NetworkCredential("sharepoint", "xyzzy");
- Mijn gmail-account is ingesteld voor gebruik van SSL en dat was geen probleem.
- Er is wat tegenstrijdige informatie die er op welke poort u moet gebruiken. Ik gebruikte poort 587 en het werkte boete voor me.
- In mijn geval, Ik ook nodig voor het verzenden van bijlagen. Dat NIPFD object een methode heeft die weet waar mijn bijlagen zijn. Het een volledig pad terug (bijvoorbeeld. "c:\tempattachment1.jpg". In mijn test, Ik had twee bijlagen en beiden werkte prima.
Ik gebruikte visuele studio 2008 om deze code te schrijven.
</einde>
Volg mij op Twitter op http://www.twitter.com/pagalvin
Schoon en eenvoudig…
Bedankt voor het delen.
De PowerShell Team blog had onlangs een soortgelijke functie die ik vond van onschatbare waarde als een server admin. Visual Studio is geweldig, maar veel van mijn collega's zijn niet ontwikkelaars en heb geen licentie gekocht. PowerShell voelt meer als de command line en is meer toegankelijk voor hen. Gewoon een suggestie voor elke admins die er.
Beste,
Jeff (www.spjeff.com / @spjeff)
Verzenden van automatische e-mails met verzenden-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