有沒有人有任何代碼發送MHT在C#中使用SmtpClient和MailMessage?使用C#發送MHT文件郵件消息
我發現了使用Alternate Views的誘人蔘考,但我無法弄清楚如何使這個工作與我的SSRS生成的MHT。
如果任何人有任何工作代碼,他們願意分享我會非常感激。
有沒有人有任何代碼發送MHT在C#中使用SmtpClient和MailMessage?使用C#發送MHT文件郵件消息
我發現了使用Alternate Views的誘人蔘考,但我無法弄清楚如何使這個工作與我的SSRS生成的MHT。
如果任何人有任何工作代碼,他們願意分享我會非常感激。
因此,看起來.NET MailMessage並不支持這種開箱即用的方式。我發現了幾種可以用於不同程度成功的方法。
MHTML - > HTML解碼器
大衛本克寫道:https://github.com/DavidBenko/MHTML-to-HTML-Decoding-in-C-Sharp/blob/master/MHTMLParser.cs,雖然它的作品,我無法使圖像出現時,我觀察所得的電子郵件。在HTML看看右邊,它只是沒有工作在Outlook 2010中
轉換MimeKit的MimeMessage到.NET郵件
正如傑弗裏指出,這是一個開始https://github.com/jstedfast/MimeKit/issues/140。我再次遇到了圖像沒有顯示在結果信息中的問題。
使用MimeKit & MailKit
我結束了使用https://github.com/jstedfast/MimeKit來完成這項工作。這可以實現如下:
MimeMessage messageMimeKit = MimeMessage.Load(Request.MapPath("~/Blah/378921.mht"));
messageMimeKit.From.Add(new MailboxAddress("Dev", "[email protected]"));
messageMimeKit.To.Add(new MailboxAddress("Homer", "[email protected]"));
messageMimeKit.Subject = "Another subject line";
using (var client = new MailKit.Net.Smtp.SmtpClient())
{
client.Connect("smtp.gmail.com", 465, true);
client.Authenticate("[email protected]", "*****");
client.Send(messageMimeKit);
client.Disconnect(true);
}
您可以創建報告和subscritions通過電子郵件以多種格式包括MHTML傳遞這些報告。在SSRS中配置SMTP設置,勾選[this](http://bhushan.extreme-advice.com/email-configuration-in-ssrs-with-smtp-in-windows-server-2008r2/)。在訂閱中選擇MHTML格式。 –
我已經有一個我需要發送的MHTML文檔。由於我有其他要求,不希望SSRS執行此操作。需要從C#代碼中完成。 – TheEdge
你想附加或嵌入郵件正文中的MHTML文件?我認爲[this](http://www.example-code.com/csharp/loadMhtmlAndSendEmail.asp)代碼可以幫助你。另外請記住,郵件中的嵌入式MHTML可以顯示爲未格式化,這是由於客戶端郵件阻止和對MIME的支持。 –