6

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

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

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

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

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

<link>使用HTML 电子邮件之类的东西的愿望似乎确实存在,并且有很多电子邮件客户端<meta>在 HTML 标头中发送 -tags(例如 Outlook),但是在野外是如何处理的呢?默默地将它们剥离出来(对于我们的目的而言,这表示“非破坏性更改”)并在发送方发生破坏时将责任归咎于发送方是否安全?这合理吗?有人曾经以一种或另一种方式决定过吗?我的 google-fu 很弱。:(

4

3 回答 3

1

你应该看看:

http://htmlemailboilerplate.com/

您将找到 HTML 电子邮件的样板代码。还有一个很好的练习幻灯片。

于 2011-06-15T07:22:29.083 回答
1

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

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

于 2011-06-08T16:33:31.733 回答
0

我编写 HTML 电子邮件的方法是编写我们在 1990 年代所做的那种基本 HTML——表格布局、最小的内联 CSS(仅用于颜色)等等。我不知道现代客户如何处理 CSS 定位,但人们仍在使用 Outlook 2003,我相信它是基于运行 IE6 的可恶渲染引擎的 - 所以选择最低公分母是值得的。

我从未见过任何看起来像它的标准的东西,我见过一些电子邮件客户端 (GMail) 删除了各种东西——包括 CSS,而其他人只是忽略了某些东西(Outlook 和背景图像)。

理性地说,我想不出任何元信息在电子邮件中有什么用途——无论如何,让人们阅读你的邮件已经够难的了,我怀疑甚至更少的人会查看源代码!我总是包含一个标题标签,以防万一有人想把它用作主题——但即使那是在黑暗中刺伤。

每当我查看如何在服务器端请求邮件时 - 诚然,不久前,但我从未注意到有任何东西被缓存。您打开邮件,再次发出请求。我确信自从我上次检查以来事情已经发生了变化,但就我个人而言 - 我仍然倾向于保持 HTML 电子邮件尽可能简单并尽可能精简。

于 2011-06-13T01:23:53.457 回答