Ова не е точно нова тема, но кога ми требаше да го направи тоа, I found a lot of “why won’t this work for me” and not too many direct answers. I hope someone finds this useful.
Следниве малку на кодот ќе испрати е-маил користење на мојот Gmail сметка да го направи тоа, вклучувајќи прикачувања:
користење на System.Net.Mail; користење на System.Net; NetworkCredential loginInfo = нови NetworkCredential("[Мојата Gmail проект]", "[Мојот Gmail Лозинка]"); MailMessage msg = нови MailMessage(); msg.From = нови MailAddress("[М Gmail Id]@ Gmail.com"); msg.To.Add(нови MailAddress("paul.galvin@arcovis.com")); msg.Subject = "Test infopath dev subject"; msg.Body = "<html><тело><силна>А силна порака.</силна></тело></html>"; msg.IsBodyHtml = вистина; foreach (низа aFile во NIPFD.GetAttachmentNamesAndLocations()) { msg.Attachments.Add(нови Приврзаност(aFile)); } // Додавање прикачувања. SmtpClient клиентот = нови SmtpClient("smtp.gmail.com"); client.EnableSsl = вистина; client.UseDefaultCredentials = лажни; client.Credentials = loginInfo; client.Port = 587; client.EnableSsl = вистина; client.Send(msg); |
А неколку клучни делови кои ме забави и други забелешки / белешки:
- На првата линија која создава на loginInfo објект треба да се користи Gmail проект лишена од "@ Gmail.com". Така, ако мојот Gmail-маил адреса е "Sharepoint@gmail.com"И мојата лозинка е" xyzzy "тогаш линијата ќе изгледа:
NetworkCredential loginInfo = нови NetworkCredential("sharepoint", "xyzzy");
- Моите Gmail сметка е поставена да се користи SSL и дека не е проблем.
- There is some conflicting information out there on what port to use. I used port 587 и тоа добро работеа за мене.
- Во мојот случај, 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. "В:\temp\attachment1.jpg”. In my test, Имав две додатоци и тие двајцата добро работеа.
Јас се користи Visual Studio 2008 да се напише овој код.
</крајот>
Да се претплатите на мојот блог.
Следете ме на Twitter во http://www.twitter.com/pagalvin
Чист и едноставен…
Ви благодариме за споделување.
На PowerShell Тим блог неодамна имаше сличен пост што го најдов непроценливо како сервер администратор. Visual Studio е голема, но многу од моите врсници не се програмери и немаат лиценца купена. PowerShell се чувствува повеќе како на командната линија и е подостапна за нив. Само предлог за било администраторите таму.
Најдобрите,
Џеф (www.spjeff.com / @ Spjeff)
Испраќање на автоматски пораки со Испрати-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