【问题标题】:C# MailKit HTML email received as plain text以纯文本形式接收的 C# MailKit HTML 电子邮件
【发布时间】:2019-04-20 14:30:34
【问题描述】:

我有一个复杂的电子邮件模板,其中包含许多 divsection 和其他 HTML 元素。 HTML 模板引用了 CSS(上传到服务器)。我正在使用以下代码通过 MailKit 发送 HTML 电子邮件:

var message = new MimeMessage();
var bodyBuilder = new BodyBuilder();
bodyBuilder.HtmlBody = File.ReadAllText(pathToHtmlFIle);
message.Body = bodyBuilder.ToMessageBody();

client.Send(message);

但是客户端只接收纯文本的所有内容,没有颜色,没有格式。这是预期的结果吗?

【问题讨论】:

  • 回答你的问题,我不认为它预期的结果,不。但是,虽然不太熟悉 MailKit,但有一些 SO 答案like this one 可能会有所帮助
  • @ffa,我很久以前检查过帖子。它没有帮助。
  • 一些额外的信息将有助于提供更多关于可能出现问题的线索,例如发送的消息的原始 MIME(您可以使用message.WriteTo ("file.txt")),如果可能的话,原始的客户端收到的消息(大多数邮件客户端允许您将消息保存到文件中)。也许接收客户端中消息的屏幕截图也很有用。

标签: c# html email mailkit mimekit


【解决方案1】:

在这个话题上苦苦挣扎后,我终于弄清楚错误是html里面的双引号......使用notepad ++替换(用ctrl + f快速启动)所有“for”。圣药,只收到后plain/text 我终于收到了 text/html。

PD:不要使用引导程序,也不要尝试链接外部源,因为邮件客户端会阻止外部 css 提供程序。对所有标签使用严格的样式属性。

【讨论】:

    【解决方案2】:

    我认为您需要使用内联 CSS 或嵌入在 head 部分的 CSS。由于大多数网络邮件客户端会阻止指向外部样式表的链接,因此很少在电子邮件中看到这种方法。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-12
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2015-09-19
    相关资源
    最近更新 更多