对于在ASP.NET中发送多部分电子邮件的问题,我很困惑。我正在使用我确定曾经工作过的代码,但收到的电子邮件似乎没有任何内容。在ASP.NET中使用System.Net.Mail发送多部分电子邮件 - 收到的电子邮件没有正文
代码的键位是这样的:
message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(plainBody, null, MediaTypeNames.Text.Plain));
message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(htmlBody, null, MediaTypeNames.Text.Html));
我可以验证plainBody
是有效的文本和htmlBody
是有效的HTML。除此之外,我创建了一个非常简单的MailMessage
与主题,从和。我没有设置MailMessage
的任何其他属性,我使用标准System.Net.Mail.SmtpClient使用之前多次使用过的Google凭据发送。
当电子邮件到达时,它看起来完全是空的。
如果我用以下(没有其他更改)替换上述两行,那么HTML电子邮件到达正确。
message.Body = htmlBody;
message.IsBodyHtml = true;
那么,我空电子邮件的原因是什么?我尝试过将HTML简化为一个包装在<b>
标签中的单词,因此它与正文内容无关,正如我所说的,我之前多次使用过类似的代码,没有任何问题。我测试了GMail和Office 365中收到的电子邮件,结果都一样。
建议非常欢迎。
您显示的代码没有问题。也许它的另一块代码有问题。你能提供一个完整的例子吗?另外,在接收端,你可以以文本的形式打开邮件(将邮件视为MIME邮件)并查看它是否包含这些实体? –