美文网首页
Html Email 邮件html页编写指南

Html Email 邮件html页编写指南

作者: 小边_leo | 来源:发表于2020-08-17 21:13 被阅读0次

HTML 邮件内容虽然也是 HTML,但是和我们在网页上使用的 HTML 不同,因为安全原因,各大邮箱服务商及邮件客户端都会对邮件内容进行一定程度上的处理,不会按照你写的原本 HTML 展示。

在桌面和移动端渲染电子邮件大约有上百万种不同的组合方式。

尤其是鼎鼎大名的 OutLook,从 OutLook2007 开始便使用 Word HTML 引擎进行渲染,为了它的安全性从而使得整个邮件倒退回了 2000 年前,为了邮件的兼容性你不得不使用很多废弃的标签、属性,并且这一状况将会维持无数个
年头,因为虽然万事终有尽头,但 OutLook 始终存在。

因为微软一向地特立独行,使得 OutLook 成为了最难啃的骨头。因为 OutLook 支持的标签和属性少得可怜,所以只要兼容了 OutLook,其他邮箱客户端基本都不会有什么问题。
使用tableb布局

这几乎是 HTML 邮件与普通 HTML 页面最大的区别,因为各个邮箱对 div + css 这一套布局的解析问题很大(如 float / position 等 CSS 都会被过滤,甚至 margin: 0 auto; 都不起作用),基本各大邮箱都会解析混乱,所以老式的 table 布局是上乘之选。这就意味着 HTML 邮件中几乎只有这几个元素——table / tr / td / span / img / a,尽量避免使用 div / p 或是其他标签。

而且并不是所有邮箱都支持 colspan / rowspan 属性,所以所有布局都需要使用 table 嵌套解决。
1.Doctype

目前,兼容性最好的Doctype是XHTML 1.0 Strict,事实上Gmail和Hotmail会删掉你的Doctype,换上这个Doctype。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 <head>

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

  <title>HTML Email编写指南</title>

  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

 </head>

</html>

使用这个Doctype,也就意味着,不能使用HTML5的语法。
2.布局

网页的布局(layout)必须使用表格(table)。首先,放置一个最外层的大表格,用来设置背景。
基本html

<body style="margin: 0; padding: 0;">
  <table cellpadding="0" cellspacing="0" border="0" id="backgroundTable" style="border-collapse: collapse; width: 100%; max-width: 750px; margin: 0 auto; text-align:center; font-size:0;">
    <tr>
      <td style="padding: 0;">
        <a href="" target="_blank">
          <img border="0" src="" alt="tuya smart" title="tuya smart" style="width:100%; display: block;"
          />
        </a>
      </td>
    </tr>
    <tr>
      <td style="padding: 0;">
        <img border="0"  src="" alt="tuya smart" title="tuya smart" style="width:100%; display: block;"
        />
      </td>
    </tr>
  </table>
</body>

3.图片

图片是唯一可以引用的外部资源。其他的外部资源,比如样式表文件、字体文件、视频文件等,一概不能引用。

有些客户端会给图片链接加上边框,要去除边框。

img {
    outline: none;
    text-decoration: none;
    -ms-interpolation-mode: bicubic;
}

a img {
    border:none;
}

<img border="0" style="display:block;">

需要注意的是,不少客户端默认不显示图片(比如Gmail),所以要确保即使没有图片,主要内容也能被阅读。
4.行内样式

所有的CSS规则,最好都采用行内样式。因为放置在网页头部的样式,很可能会被客户端删除。客户端对CSS规则的支持情况,请看这里。

另外,不要采用CSS的简写形式,有些客户端不支持。比如,不要写成下面这样:

style="font: 8px/14px Arial, sans-serif;"

如果想表达

<p style="margin: 1em 0;">

要写成下面这样:

<p style="margin-top: 1em; margin-bottom: 1em; margin-left: 0; margin-right: 0;">

相关文章

HTML 邮件兼容问题与解决方案

作者:胡萝卜樱
链接:https://www.jianshu.com/p/bfacee6c4624
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • Html Email 邮件html页编写指南

    HTML 邮件内容虽然也是 HTML,但是和我们在网页上使用的 HTML 不同,因为安全原因,各大邮箱服务商及邮件...

  • 编写html邮件的图片如何用链接

    html 来编写邮件,是有一定规则的,就目前来说,不支持html5,可以看看阮一峰的HTML Email 编写指南...

  • HTML Email 编写指南

    HTML 邮件内容虽然也是 HTML,但是和我们在网页上使用的 HTML 不同,因为安全原因,各大邮箱服务商及邮件...

  • HTML5 表单

    @(HTML5)[HTML5表单] [TOC] 七、HTML5表单 新的输入型控件 email:电子邮件 tel:...

  • 随笔记

    在html页面中写一行代码实现发送邮件功能 Email 点击email链接,给XXX@163.com发送邮件,系统...

  • Python发送邮件

    使用smtplib发送邮件 def send_email(to_addrs,title,html_text='',...

  • Python || 发送邮件

    使用Python的stmplib和email发送邮件: 一、纯文本邮件 二、HTML邮件 只需要在构造MIMETe...

  • python -- Email , send(smtp), re

    python Email功能: 发送普通文本邮件 发送带有html格式的邮件 发送带有附件的邮件 发送插入图片到正...

  • 结合 Python、MySQL、Redis 发布订阅功能,实现

    结合 Python、MySQL、Redis 发布订阅功能,实现 Email 自动发送 HTML 模版邮件. 1. ...

  • email 模块-python学习29

    email 模块 email 模块:也就是用来写邮件内容的模块。这个内容可以是纯文本、HTML内容、图片、附件等多...

网友评论

      本文标题:Html Email 邮件html页编写指南

      本文链接:https://www.haomeiwen.com/subject/worncktx.html