如何使用样式表接收和显示HTML电子邮件?

时间:2013-07-25 17:21:39

标签: css email sanitization

在开发基于Web的电子邮件系统时,是否有一种普遍接受的正确方法来处理传入电子邮件上的样式表?我指的是<style标记。不是指@import<link符号。

这些样式表必须仅限于包含外国电子邮件的元素,否则它们也会调整您自己系统的内容,这是一个很大的禁忌。

我知道我应该清理脚本和样式表,这样我就可以阻止url背景图像,或者修复覆盖我系统部分的位置元素。

我不想完全删除样式表,所以我看到了这些选项

  • 将样式表转换为内联样式

  • 将整个外国电子邮件放入带有ID的div中,并将样式规则更改为仅影响该div(例如a,b{color:purple}将成为#foreign a,#foreign b{color:purple}

    < / LI>

这些好主意之一是什么?我错过了一个明显/更好的方法吗?什么是普遍/接受/健壮?

2 个答案:

答案 0 :(得分:0)

电子邮件不支持外部样式表,因此html电子邮件中的所有CSS都位于页面样式标记或内联中。因为像gmail和yahoo这样的客户端去除样式标签以及body标签之外的所有其他内容是标准的,所以你可以简单地做同样的事情。将传入的电子邮件限制为内联样式将使所有CSS保持在这些元素的本地。内联css几乎就是电子邮件设计101,所以你不必担心你的电子邮件系统低于标准。

除此之外,Web客户端还会删除许多CSS元素。不希望有人添加position:fixed;,因为它会突破查看窗格。每个客户端允许使用CSS的最佳参考是Campaign Monitor's CSS guide

答案 1 :(得分:0)

我认为最好的想法是使用内联样式。我已经制作了可能发送样式的html电子邮件和内联样式的网站,这是大多数电子邮件sistemas唯一可用的工作。