这不完全是一个新的主题, 但当我需要这么做, 我发现很多的"为什么不会这项工作对我来说"并没有太多直接的答案. 我希望有人能找到这有用.
下面这段代码将发送电子邮件,使用自己的 gmail 帐户做它, 包括附件。:
使用 System.Net.Mail; 使用 System.Net; NetworkCredential loginInfo = 新增功能 NetworkCredential("[我的 Gmail ID]", "[我的 Gmail 密码]"); MailMessage msg = 新增功能 MailMessage(); 味精。从 = 新增功能 邮件地址("[M Gmail Id]@gmail.com"); 味精。To.Add(新增功能 邮件地址("paul.galvin@arcovis.com")); 味精。主题 = "测试 infopath 开发主题"; 味精。身体 = "<html><正文><强>一个强烈的信息。</强></正文></html>"; 味精。IsBodyHtml = true; foreach (字符串 恰好 在中 NIPFD。GetAttachmentNamesAndLocations()) { 味精。Attachments.Add(新增功能 附件(恰好)); } // 添加附件. SmtpClient 客户端 = 新增功能 SmtpClient("smtp.gmail.com"); 客户端。EnableSsl = true; 客户端。UseDefaultCredentials = false; 客户端。凭据 = loginInfo; 客户端。端口 = 587; 客户端。EnableSsl = true; 客户端。发送(味精); |
我放慢的几个关键位和其他意见 / 备注:
- 第一行中创建 loginInfo 对象需要使用 ID 被剥夺了的 gmail "@gmail.com”. 所以, 如果我的 gmail 电子邮件地址 "sharepoint@gmail.com"和我的密码是"xyzzy"然后线看起来就像:
NetworkCredential loginInfo = 新增功能 NetworkCredential("sharepoint", "xyzzy");
- 我的 gmail 帐户设置为使用 SSL,这不是问题.
- 还有一些相互矛盾的信息,在那里上要使用什么端口. 我使用端口 587 和它对我来说能正常工作.
- 以我为例, 我也需要发送附件. NIPFD 对象具有一个方法,知道我的附件在哪里. 它返回一个完全路径 (例如:. "c:\"tempattachment1.jpg. 在我的测试, 我有两个附件和他们都能正常工作.
我使用 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