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

ale*_*lex 105 html email html-email

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

<dl>
   <dt>Name</dt>
   <dd>Value</dd>
</dl>
Run Code Online (Sandbox Code Playgroud)

我应该这样做吗?

<html>
  <head></head>
  <body>
    <dl>
       <dt>Name</dt>
       <dd>Value</dd>
    </dl>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

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

我想我可以放心地假设任何基于Web的电子邮件客户端都会将其删除吗?

什么是正确的方法?

msc*_*ker 39

正确的方法是遵循HTML 标准.您可以在此处验证HTML页面.

您的邮件客户端应该遵循它,并且应该丢弃不支持的内容或者像javascript一样不安全的东西.

更新:当你告诉他们遵守标准时,那些生气的人几次投票后,我会揭露为什么以下标准在这里有益的原因:

  1. 愿意将您的邮件显示为整页的网络邮件可以保留您的格式.
  2. webmail将简单地删除它不想要的标签和属性.但你永远不知道哪些.
  3. 找到符合格式标准的(服务器端)组件更容易,因此更不容易出错.不遵循标准的解析器可能会破坏,使您的电子邮件无法显示.

  • -1正确的方法是在相关客户端进行测试.虽然邮件客户*应该遵循标准,但实际上没有一个符合标准. (51认同)
  • mschonaker是对的.如果每个人都开始遵循标准,那么使用将......很好......标准化.否则,所有开发人员都必须为当天的风格实现黑客攻击(想想你,IE6!).正确的方法是遵循标准. (26认同)
  • "html电子邮件"没有标准.你指的是html的标准. (3认同)
  • 我同意这个答案,而许多客户端渲染无效的html无论如何,在大多数客户端呈现的最可靠的格式是拥有有效的HTML! (2认同)
  • 这是正确的答案.部件或主体的mime类型将为text/html.无论上下文如何,无论是Web浏览器还是电子邮件客户端,都应遵守此类标准.@cjcela有正确的想法,如果我们都支持IE8,网络就不会发展.如果我们不坚持标准如何在邮件中呈现HTML进化?你应该做的是坚持标准,但要认识到像'head`s中的样式表这样的东西可能会被忽略并且有一个优雅的后备. (2认同)

Jos*_*Lee 33

是否包含html/head/body标签完全无关紧要 - 它们始终是可选的,不会以任何方式影响文档的呈现.

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

  • [我应该在HTML电子邮件中使用哪种doctype?](http://www.campaignmonitor.com/blog/post/3317/correct-doctype-to-use-in-html-email/) (5认同)
  • "它们总是可选的,不会影响文档的呈现",这根本不是真的,许多渲染都不太容错,并且可以正确地选择不渲染无效的html. (3认同)

kam*_*kev 11

这个帖子上的很多帖子都比较陈旧,因此它们不再准确.

如果你打算做任何想象的事情,这些天HTML电子邮件应该包括doctype,html和body声明.

关于这个主题有很多指南可以帮助你学习如何正确编码HTML电子邮件,但大多数都忽略了doctype的细节,这就是我偶然发现你的问题.

我建议你阅读以下2篇帖子,这些帖子来自熟悉各种问题的知名团队:

竞选监察员的看法

关于酸的电子邮件

  • 我做了,但由于其权威性质,所选择的博客文章是经过精心挑选的,而且他们在时间上看起来很有前瞻性.他们所表达的观点在当时相当罕见,特别是当你与其他答案所分享的过时断言形成鲜明对比时. (2认同)

Exp*_*lls 9

完全取决于收到它的电子邮件客户端.根据我的经验,大多数解释HTML的电子邮件客户端都不关心你是否有完整的body/head/html标签等.实际上你甚至不需要为大多数浏览器使用这些标签.你需要让head标签包含样式/标题等.否则它们本身并不是必需的.我从未见过他们是必要的.

  • html/head/body标签始终是可选的. (3认同)

小智 8

有一样东西我知道是正确的:使用HTML打开和关闭标签将一般的垃圾邮件得分帮助由于许多这类设备基于过滤器和软件防火墙将一个点左右的添加到使用HTML,但不使用电子邮件打开和关闭标签.

  • 你有证据支持这种说法吗? (11认同)
  • 我在过去几天内通过Gmail中的"查看原始内容"观察到了这种行为.在那里,我可以看到没有开放结束标签的电子邮件的垃圾邮件分数:例如X-Spam-Level:*| X-Spam-Report:得分= 1.6测试= HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY | X-Spam-Score:1 - 例如见http://wiki.apache.org/spamassassin/Rules/HTML_MIME_NO_HTML_TAG (9认同)
  • 我也看到过这种情况,有些公司的垃圾邮件隔离门槛非常低,缺少 HTML 标签就足以阻止您的电子邮件通过。此页面没有列出可用的确切设置,但我看到该软件留下了一条有关规则“HTML_MIME_NO_HTML_TAG”的消息,并带有描述“仅 HTML 消息,但没有 HTML 标记”。https://techlib.barracuda.com/BSF/SpamScoring (2认同)

Ale*_*ico 5

我认为没有正确的方法,但尝试让电子邮件在尽可能多的电子邮件阅读器中可见。

我通常在 Thunderbird 中查看电子邮件,因为 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>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我每次都在所有网络表单中使用纯文本电子邮件。我在使用 html+纯文本电子邮件发送黑莓电子邮件时遇到了很多问题。