网络邮件:HTML 标头

pin*_*hic 6 webmail html-email htmlpurifier

HTML 电子邮件是一个复杂的野兽。决定发送什么(作为发件人)和显示什么(作为收件人)是很棘手的,而且有潜在的危险。

在收件人方面,我们有网络邮件常规电子邮件客户端。出于我的目的,我认为“网络邮件”是任何将 HTML 电子邮件显示为本身是 HTML 的一部分的任何内容,而常规电子邮件客户端则是任何在不同上下文中显示 HTML 电子邮件的内容(例如操作系统和特定于程序的 GUI)。

webmail 应该如何处理电子邮件中的 HTML 标头(<head><title><meta>、 ...)?
某处是否有规范,是作为实际标准还是事实上的标准?

我提出这个问题的动机是我们使用HTML Purifier来清理我们的 HTML,如果它的Core.CollectErrors功能报告发生了变化,他们就会被报告。这种“报告”既必要……又令人沮丧。我们删除了一些报告的错误,认为对我们的目的来说无关紧要,但 HTML 标头标志着一个巨大的障碍:

有人可能会<link>在他们的电子邮件中使用,我们将删除。(HTML Purifier 适用于 HTML片段,而非完整文档)

使用<link>HTML 电子邮件之类的东西的愿望似乎确实存在,并且有很多电子邮件客户端<meta>在 HTML 标题(例如 Outlook)中发送-tags,但是如何处理这些事情?悄悄地剥离它们是否安全(就我们而言,这表示“非破坏性更改”)并在发送方确实破坏时将其归咎于众所周知的责任?这合理吗?有没有人以一种或其他方式决定过这一点?我的 google-fu 很弱。:(

Edw*_*ang 1

我严重怀疑是否有任何规范指定 HTML 电子邮件应如何嵌入到网络邮件客户端中。这主要是一个与现有网络邮件提供商实现平等的问题,这些提供商提供了查看 HTML 电子邮件的能力。我怀疑样式表是一个值得注意的例外,但我也怀疑大多数支持这种繁重样式的 HTML 邮件程序在它们能做什么和不能做什么方面受到相当的限制,考虑到 webmail 的处理方式。我建议做一些实验,并查阅开源网络邮件系统(如 SquirrelMail)的源代码。

如果您担心信息丢失,许多客户端允许您做的一件事就是下载原始 HTML,以供离线查看。当然,这往往是相当残暴的,所以我不知道为什么有人会这样做。