在我们公司的后端,我们正在编程一个页面来查看收到的电子邮件。
我们希望保护我们的用户不被电子邮件发送者跟踪,因此显示的HTML不应该加载图像、javascript、远程CSS等
调查
最初的想法是通过设置某种"窗口/沙盒"查看器来保护远程内容(我们所有的代理都在受控版本中使用Thunderbird,所以我们不需要为所有浏览器通用代码(。
然而,这似乎是不可能的。根据这个问题,我如何防止iframe显示用于加载图像和其他电子邮件跟踪器的电子邮件?我们不能阻止浏览器加载它,所以我们必须预先解析HTML。
问题
我应该剥去什么标签?
我想知道是否有一个HTML标签的"封闭列表"可以强制加载远程内容。
例如,很明显,电子邮件中的任何javascript都将被删除。同样,我们将删除阻止src=
属性进行远程调用的所有<IMG>
标记。是的,我们知道,如果没有花哨的图像,电子邮件看起来会很难看,但我们需要防止"做一个很酷的展示"。
已探索
我们知道我们可以放弃HTML版本的电子邮件,而坚持使用文本版本。
但也有一些发件人只发送HTML,而不是文本+HTML。我们希望保留"一点格式"(字体大小、颜色、表格、粗体、斜体等(,并同意"取消"一些东西,如远程样式(只允许本地样式(、远程图像等。
我们想知道…
a(我们需要自己对要删除的标签和要留在HTML 中的标签进行调查
或者b(有任何已知的封闭列表告诉"可以导致远程加载的HTML元素是这个和那个"。
编辑
正如@NevNein所指出的,有一些非标记的东西可能会触发远程调用,例如<div style="background-image: url('https://some.tracking.link')"></div>
因此,问题扩大到:
有没有可以在浏览器中触发远程调用的html标签和css样式的封闭列表?
好消息是,您不必担心iframe
或javaScript
,因为大多数电子邮件客户端都会禁用它们。
禁用图像的问题是,有些电子邮件的内容只在图像中。
要剥离的几个标签将包括link
img
background-image
background
。有关电子邮件客户端支持哪些标签的良好指南,请访问:https://www.campaignmonitor.com/css/