【发布时间】:2018-11-21 12:06:42
【问题描述】:
如何使用 HTML 文件设置 MailMessage 的正文?
【问题讨论】:
-
这里是a simple example。还有here's one that includes an embedded image(与
img指向Web 源的链接相反,许多电子邮件客户端不会显示该链接)。编辑:您当然可以使用File.ReadAllText阅读 html 文件,您可以在链接中使用它。
如何使用 HTML 文件设置 MailMessage 的正文?
【问题讨论】:
img 指向Web 源的链接相反,许多电子邮件客户端不会显示该链接)。编辑:您当然可以使用 File.ReadAllText 阅读 html 文件,您可以在链接中使用它。
如果你使用System.Net.Mail.MailMessage,你可以使用:
mail.IsBodyHtml = true;
System.Web.Mail.MailMessage 已过时,但如果使用它:mail.BodyFormat 有效。
【讨论】:
只需将MailMessage.BodyFormat属性设置为MailFormat.Html,然后将html文件的内容转储到MailMessage.Body属性即可:
using (StreamReader reader = File.OpenText(htmlFilePath)) // Path to your
{ // HTML file
MailMessage myMail = new MailMessage();
myMail.From = "from@microsoft.com";
myMail.To = "to@microsoft.com";
myMail.Subject = "HTML Message";
myMail.BodyFormat = MailFormat.Html;
myMail.Body = reader.ReadToEnd(); // Load the content from your file...
//...
}
【讨论】:
System.Web.Mail.MailMessage。在尝试设置 BodyFormat 时,我遇到了问题,因为 Reflector 告诉我它不存在。原因是,我使用的是System.Net.Mail.MailMessage(在那个类中,有一个名为IsBodyHtml 的bool 标志,您可以设置它)。此外,如果所有条件相同,建议使用System.Net.Mail:stackoverflow.com/q/64599/324527
Dear *value_from_C#_variable*