Это не совсем новой темы, но когда мне необходимо делать это, Я нашел много «почему не эта работа для меня» и не слишком много прямых ответов. Я надеюсь, что кто-то считает это полезным.
Следующий фрагмент кода будет отправить по электронной почте с использованием моей учетной записи gmail это делать, включая вложения:
использование System.Net.Mail; использование System.Net; NetworkCredential loginInfo = Новые функции NetworkCredential("[Мой Gmail ID]", "[Мой пароль Gmail]"); MailMessage MSG = Новые функции MailMessage(); MSG.От = Новые функции MailAddress("[M Gmail Id]@gmail.com"); MSG.To.Add(Новые функции MailAddress(«paul.galvin@arcovis.com / * <! [ CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n =2)i=parseInt(a.substr(n,2),16)^r,e =String.fromCharCode(i);e=document.createTextNode(e) c.parentNode.replaceChild(e,c)}}}catch(u){}}(); / *]] > * /")); MSG. Тема = «Infopath dev испытуемого"; MSG. Тела = "<HTML><тело><сильный>Сильные сообщение.</сильный></тело></HTML>"; MSG. IsBodyHtml = Истина; по каждому элементу (Строка 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 < сценарий cf хэш = «f9e31» тип = «text/javascript» > / * * /«и мой пароль – «xyzzy» тогда линия будет выглядеть как:
NetworkCredential loginInfo = Новые функции NetworkCredential(«sharepoint", «xyzzy");
- Мой аккаунт gmail настроена для использования SSL, и это не проблема.
- Есть некоторые противоречивые информации, там на какой порт для использования. Я использовал порт 587 и он работал штрафа для меня.
- В моем случае, Мне также необходимо отправить вложения. NIPFD объект имеет метод, который знает, где находятся мои вложения. Он возвращается полностью путь (Например. «c:\tempattachment1.jpg». В моей тестовой, У меня было два вложения и они оба работали отлично.
Я использовал visual studio 2008 написать этот код.
</конец>
Следуй за мной по щебетать на http://www.twitter.com/pagalvin
Чистый и простой…
Спасибо за обмен.
В блоге команды PowerShell недавно имел аналогичную должность, что я нашел неоценимое значение как администратор сервера. Visual Studio является большим, но многие из моих коллег не являются разработчиками и не имеют лицензию купил. Чувствует себя больше как в командной строке Windows PowerShell и более доступными для них. Просто предложение для любого администраторов там.
Лучший,
Джефф (www.spjeff.com / @spjeff)
Отправка автоматических писем с 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