当创建 HTML 电子邮件时,我们应该使用 HTML,head,body 标签吗?

在我的电子邮件视图中,我通常只是做一些像..。

<dl>
<dt>Name</dt>
<dd>Value</dd>
</dl>

我应该这样做吗?

<html>
<head></head>
<body>
<dl>
<dt>Name</dt>
<dd>Value</dd>
</dl>
</body>
</html>

换句话说,就像我在标记一个独立的文档?

我想我可以放心地假设任何基于网络的电子邮件客户端将剥离它?

正确的方法是什么?

89044 次浏览

完全取决于接收它的电子邮件客户端。根据我的经验,大多数解释 HTML 的电子邮件客户端并不关心你是否有完整的 body/head/HTML 标签,等等。事实上,对于大多数浏览器,您甚至不需要这些标记。您需要有包含样式/标题等的 head 标签。否则,它们本身并不是真正必要的。我从没觉得有这个必要。

我不认为有一个正确的方法,但试图使尽可能多的电子邮件阅读器可见的电子邮件。

我通常用雷鸟查看电子邮件,因为 Outlook 更容易原谅别人。

在 Thunderbird 中,这是一封电子邮件的 HTML 代码(我有一个展示 HTML 的扩展)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
This is the body text<br>
<div class="moz-signature"><i><br>
<br>
Regards<br>
Alex<br>
</i></div>
</body>
</html>

顺便说一句,我用纯文本电子邮件的所有我的网络形式,每次我可以。我有很多问题与黑莓电子邮件使用 html + 纯文本电子邮件。

你是否包含 html/head/body 标签是完全无关的ーー它们总是可选的,不会以任何方式影响文档的呈现。

最重要的是怪癖模式是否开启。不幸的是,您无法在 webmail 设置中控制它。表和内联样式是您的朋友。您最好的选择是在尽可能多的 webmail 和桌面客户端中进行测试。

正确的方法是遵循 HTML 标准。您可以验证您的 HTML 页面 给你

您的邮件客户端应该遵循它,并且应该抛弃不支持或不安全的内容,比如 JavaScript。

我将在这里展示一些原因,说明为什么下列标准可能是有益的:

  1. 一个网络邮件愿意显示您的邮件作为一个完整的页面,可以保持您的格式。
  2. 一个 webmail 只是简单地去掉它不想要的标签和属性,但是你永远不知道是哪些。
  3. 更容易找到遵循格式标准的(服务器端)组件,因此更不容易出错。不遵循标准的解析器可能会崩溃,使您的电子邮件无法显示。

有一件事我知道是正确的: 使用 HTML 开始和结束标签将有助于一般垃圾邮件评分,因为事实上,许多这样的设备基于过滤器和软件防火墙将添加一个点左右的电子邮件使用 HTML,但不使用开始和结束标签。

这个帖子中的许多帖子都是相当老的,因此它们不再准确。

如今,如果你打算做一些花哨的事情,HTML 电子邮件应该包括 doctype、 HTML 和 body 声明。

关于这个主题有大量的指南可以帮助您学习如何正确编写 HTML 电子邮件,但是大多数指南忽略了 doctype 的细节,这就是我碰巧遇到您的问题的原因。

我建议你阅读以下两篇文章,它们来自熟悉各种问题的知名团队:

竞选监督员的意见

关于硫酸的电子邮件