我在系统生成的电子邮件中添加了纯文本版本,因为没有文本版本的电子邮件被视为垃圾邮件。这是我的代码:
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)。 有什么想法吗?
答案 0 :(得分:1)
解决方案是将文本版本添加到Body,并将text / html版本添加为ALternateView