0

我在系统生成的电子邮件中添加了纯文本版本,因为没有文本版本的电子邮件被视为垃圾邮件。这是我的代码:

MailMessage mm = new MailMessage(
new MailAddress(from, msg.FromName), new MailAddress(msg.ToEmail, msg.ToName)); 
mm.Subject = msg.Subject;
mm.Body = msg.Body;
mm.IsBodyHtml = 1;
mm.Priority = MailPriority.Normal;
ContentType plainContentType = new ContentType("text/plain");
AlternateView plainTextView = AlternateView.CreateAlternateViewFromString(msg.BodyTxt, plainContentType);
mm.AlternateViews.Add(plainTextView);

它工作得很好,但现在我的问题是像 gmail 这样的系统显示备份文本版本,而不是主要的 html 版本!

到目前为止,我发现电子邮件由两部分组成:

Content-Type: ***text/plain***; charset=utf-8
Content-Transfer-Encoding: base64

Content-Type: text/plain
Content-Transfer-Encoding: base64

第一个更大,它必须是 HTML 版本(如您所见,我将 IsBodyHtml 设置为 true)。有任何想法吗?

4

1 回答 1

1

解决方案是将文本版本放入正文,并将 text/html 版本添加为 ALternateView

于 2010-08-15T19:06:27.053 回答