【发布时间】:2012-10-28 13:49:53
【问题描述】:
谁能告诉我为什么以下代码以原始 Html 发送电子邮件?就像您查看页面源时的电子邮件一样。
我已将代码删减,以免包含附件和地址。
如果我禁用带有备用视图的行,电子邮件会正确呈现,但我还想发送纯文本版本。
using (SmtpClient client = GetSmtpClient(settings)) {
using (MailMessage message = new MailMessage()) {
message.IsBodyHtml = true;
message.BodyEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");
message.To.Add(toList);
message.Subject = subject;
message.Body = htmlTemplate;
message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(textTemplate, new ContentType("text/plain")));
client.Send(message);
}
}
编辑:消息最初是发送文本作为主体,html 作为替代视图,但我遇到了here 所述重音和外来字符的问题,并想设置@ 987654323@ 为 true,这迫使我将 html 设置为主视图。
【问题讨论】:
-
您是否尝试过将邮件正文设置为文本版本,然后将 HTML 作为备用视图?