显示没有外部来源(图像、css 等)的邮件内容

Display mail content without external sources (images, css, etc.)

我正在 PHP 为自己编写一个邮件客户端。不幸的是,人们倾向于将 third-party 东西放在那里,尤其是在垃圾邮件中。所以我想避免加载外部脚本、图像或任何类型的数据。

现在我正在寻找解决方案,希望能在您的帮助下找到解决方案。它可以是从 DOM-Manipulation/RegExp over IFrame 到 HTTP-Headers.

的任何值

到现在我还在入门。因为我尽量避免 RegExp 并希望在 HTTP-Header 或任何其他类型中进行简单设置以避免与第三方的连接。

这不是预期的,只是一种解决方法:

  • 解析 DOM 并完全删除所有黑名单 tags/container
  • 解析 DOM 并完全删除所有黑名单属性
  • 解析DOM并将所有不在白名单上的节点名变成“span”。

黑名单可以是“script”、“embedded”、“iframe”等。 白名单可以是“a”、“p”、“br”等。 黑名单属性可以是“onclick”,而白名单属性如“href”是允许的。

这仍然不完整,因为 style-attribute 可以包含“背景”或其他带有 URL 给第三方的东西,这些也应该被删除。