這不完全是一個新的主題, 但當我需要這麼做, 我發現很多的"為什麼不會這項工作對我來說"並沒有太多直接的答案. 我希望有人能找到這有用.
下面這段代碼將使用發送電子郵件我自己的 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 = 真正的; foreach (字串 恰好 在中 NIPFD。GetAttachmentNamesAndLocations()) { 味精。Attachments.Add(新增功能 附件(恰好)); } // 添加附件. SmtpClient 用戶端 = 新增功能 SmtpClient("smtp.gmail.com"); 用戶端。EnableSsl = 真正的; 用戶端。使用 = false; 用戶端。憑據 = loginInfo; 用戶端。埠 = 587; 用戶端。EnableSsl = 真正的; 用戶端。發送(味精); |
我放慢的幾個關鍵位和其他意見 / 備註:
- 第一行中創建 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