1

嗨,我正在构建一个基于 Web 的小型电子邮件客户端。我在显示 HTML 邮件时遇到问题。显示 HTML 邮件的最佳实践是什么?我发现的一些东西

  1. CSS重置
  2. 去掉邮件中的正文标签
4

2 回答 2

1

首先,重要的是不要允许所有的 CSS 和 HTML 标签。我会查找该文件并允许定义一组 HTML 标记和 CSS 属性。

例如,如果您重置 CSS,您仍然可以发送类似的内容<iframe><form>以及所有其他可能的恶意标签。

所以我会开始考虑你想要支持什么样的 HTML 标签,然后去掉所有其他的标签。然后对于 CSS 也是如此。

这绝非易事。我的意思是,您还必须考虑诸如有人试图破坏您的口译员之类的事情...

您可以查看这个Sitepoint Blogpost,它描述了人们应该如何编写 HTML 电子邮件。所以从那里开始看看通常支持什么可能是个好主意。

于 2011-04-19T07:28:46.160 回答
-2

一句话的答案是“1. 使用基于表格的布局,2. 仅使用内联 CSS,3.在每个可能的电子邮件客户端中进行测试。”

客户端测试可能是最重要的,因为每个电子邮件客户端(以及客户端 + 浏览器组合)可能都有自己的怪癖,而且很多都是在此过程中学到的;例如使用 HTML 属性宽度和高度,因为 Outlook 不会始终遵循宽度和高度的内联样式,或者 Gmail 倾向于在图像周围添加边距,除非您为 HTML 元素显式设置 margin:0 等。

当在一个客户端中修复 HTML 电子邮件的外观最终在另一个客户端中破坏它时,不要继续添加越来越多的样式:尝试简化HTML/CSS,即使这意味着编写更多标记。例如,如果填充和边距看起来不正确,可以通过向表格添加更多行或列并固定它们的高度/宽度来实现相同的外观。更多标签比担心所有电子邮件客户端将如何呈现 CSS 框模型更简单。

有很多关于 HTML-for-email 的文章和博客文章,例如http://articles.sitepoint.com/article/code-html-email-newsletters,它们很有帮助——尽管很多已经过时了的客户。

于 2011-06-17T21:26:46.840 回答