我正在尝试发送一封 HTML 电子邮件,但是我要将其发送到的公司有一个 Exchange 服务器,从外观上看,该服务器删除了所有样式,因此无论我对其进行何种样式设置,当他们收到它时,它都会显示为无样式。
有没有办法配置 Exchange 以不删除所有样式?
需要澄清的是,收件人收到的电子邮件是 HTML 邮件,因为所有表格结构都完好无损,但所有内联 CSS 样式,甚至尝试使用弃用的 HTML 方式(即单元格颜色等)进行样式设置都被删除了。它只是将其默认为普通的无样式单元格和表格等。
答案1
只是为了强调什么奖金说在评论中:
这不是 Exchange 的默认行为。你确定收件人不是选择以纯文本形式阅读吗?
如果收件人选择以纯文本形式阅读所有电子邮件,则您无法采取任何措施来覆盖此设置。我知道在这种情况下情况并非如此,但他们可能使用无法呈现 HTML 的电子邮件客户端。
如果电子邮件必须格式化才有意义,那么您应该考虑发送一个链接,以便收件人可以在他们选择的浏览器中打开。
笔记:该答案针对的是问题最初提出的问题。
答案2
如果防病毒软件扫描收到的邮件并在末尾附加“无病毒”消息,则会发生奇怪的事情,同时还会破坏 html。
您可以检查该客户的机器上是否安装此类防病毒或反垃圾邮件过滤产品。
答案3
发送给同事时,您实际上可能使用 Microsoft 的 RTF 而不是 HTML。通过互联网发送时,RTF 通常保留得不好,即使收件人也在运行 Exchange。
您是否曾收到过关于邮件文件附件?RTF。
(或许如何在 Exchange Server 2003 中在用户和域级别配置 Internet 电子邮件格式可能有帮助。)
答案4
与 OP 并非 100% 相关 - 但为了尊重其他在使用 MS 应用程序时对电子邮件 html 输出感到迷失和困惑的人;我最近偶然发现了一些 github 问题,这些问题与在文档头中使用样式元素有关,这可能会破坏格式。
两个右}}
括号之间没有空格可能会导致解析器剥离结束样式元素标记。
有问题的标签后面的 CSS 规则将作为文本与电子邮件内容一起输出。
不经思考就会认为}}
它被视为结束模板moustache
或表达式标签。原帖作者是 14 年前 5 个月前被问到的。很高兴知道 HTML 电子邮件格式仍然是一个持续存在的问题。
<rant>
email should be plain text. No one wants it in their inbox or reads it anyway. Just think of the bandwidth we could save.
</rant>