Це не зовсім нова тема, але коли мені потрібно Зроби, Я знайшов багато "Чому не буде ця робота для мене" і не занадто багато прямі відповіді. Я сподіваюся, що хтось вважає, що це корисна.
Наступні розрядний код надішлемо вам електронне повідомлення, використовуючи мій власний обліковий запис gmail це зробити, разом із вкладеннями:
за допомогою System.Net.Mail; за допомогою System.Net; NetworkCredential loginInfo = нові NetworkCredential("[Мій ID Gmail]", "[Мій пароль Gmail]"); MailMessage MSG = нові MailMessage(); MSG.З = нові MailAddress("[M Gmail Id]@gmail.com"); MSG.To.Add(нові MailAddress("paul.galvin@arcovis.com")); MSG.Тема = "Тест infopath dev тема"; MSG.Тіло = "<HTML><тіло><сильні>Потужний сигнал.</сильні></тіло></HTML>"; MSG.IsBodyHtml = Істина; foreach (рядок aFile у NIPFD.GetAttachmentNamesAndLocations()) { MSG.Attachments.Add(нові Вкладення(aFile)); } // Додавання вкладень. SmtpClient клієнт = нові SmtpClient("smtp.gmail.com"); клієнт.EnableSsl = Істина; клієнт.UseDefaultCredentials = ХИБНІСТЬ; клієнт.Облікові дані = loginInfo; клієнт.Порт = 587; клієнт.EnableSsl = Істина; клієнт.Надіслати(MSG); |
Кілька ключових біти, які сповільнилися мене та інших спостережень / Нотатки:
- Перший рядок, яка створює loginInfo об'єкта необхідно використовувати gmail, позбавлений ID "@gmail.com”. Так, Якщо мою адресу електронної пошти gmail "sharepoint@gmail.com"а мій пароль"xyzzy"потім лінія буде виглядати:
NetworkCredential loginInfo = нові NetworkCredential("sharepoint", "xyzzy");
- Мій обліковий запис gmail настроєно на використання SSL і що це не проблема.
- Є деякі суперечливу інформацію там про те, який порт використовувати. Я використав порт 587 і він працював штрафу для мене.
- У моєму випадку, Мені також потрібно надіслати вкладення. Що NIPFD об'єкт має метод, який знає, де мої вкладення. Він повертається повністю шлях (Наприклад. "c:\tempattachment1.jpg". У моєму тест, У мене було два вкладеннями і вони обидва працював штрафу.
Я використав Приєднуйтесь до нас 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