Kjo nuk është saktësisht një temë të re, por kur unë e nevojshme për të bërë atë, I found a lot of “why won’t this work for me” and not too many direct answers. I hope someone finds this useful.
Bit e mëposhtme të kodit do të dërgoni një email duke përdorur vetë llogarinë time gmail për të bërë atë, duke përfshirë të bashkëngjitni skedarë:
përdorim System.Net.Mail; përdorim System.Net; NetworkCredential loginInfo = i ri NetworkCredential("[My Gmail ID]", "[My Gmail Password]"); MailMessage msg = i ri MailMessage(); msg.From = i ri MailAddress("[M Gmail Id]@gmail.com"); msg.To.Add(i ri MailAddress("paul.galvin@arcovis.com")); msg.Subject = "Test infopath dev subject"; msg.Body = "<html><trup><strong>A strong message.</strong></trup></html>"; msg.IsBodyHtml = i vërtetë; foreach (varg aFile në NIPFD.GetAttachmentNamesAndLocations()) { msg.Attachments.Add(i ri Attachment(aFile)); } // Adding attachments. SmtpClient client = i ri SmtpClient("smtp.gmail.com"); client.EnableSsl = i vërtetë; client.UseDefaultCredentials = i rremë; client.Credentials = loginInfo; client.Port = 587; client.EnableSsl = i vërtetë; client.Send(msg); |
A few key bits that slowed me down and other observations / notes:
- The first line that creates the loginInfo object needs to use the gmail ID stripped of “@gmail.com". Kështu, if my gmail email address is “sharepoint@gmail.com” and my password is “xyzzy” then the line would look like:
NetworkCredential loginInfo = i ri NetworkCredential("sharepoint", "xyzzy");
- My gmail account is set up to use SSL and that wasn’t a problem.
- There is some conflicting information out there on what port to use. I used port 587 and it worked fine for me.
- Në rastin tim, 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. “c:\temp\attachment1.jpg”. In my test, I had two attachments and they both worked fine.
I used visual studio 2008 to write this code.
</fund>
Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin
Clean and simple…
Faleminderit për ndarjen e.
The PowerShell Team blog recently had a similar post that I found invaluable as a server admin. Visual Studio is great but many of my peers are not developers and don’t have a license purchased. PowerShell feels more like the command line and is more accessible to them. Just a suggestion for any admins out there.
Më mirë,
Jeff (www.spjeff.com / @spjeff)
Sending Automated emails with Send-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