> 文章列表 > 【模板】用HTML编写邮件正文 | 各大邮箱几乎都会过滤css样式、js脚本等效果,如何用基础HTML编写?

【模板】用HTML编写邮件正文 | 各大邮箱几乎都会过滤css样式、js脚本等效果,如何用基础HTML编写?

【模板】用HTML编写邮件正文 | 各大邮箱几乎都会过滤css样式、js脚本等效果,如何用基础HTML编写?

用HTML编写邮件正文

  • 文档
    编码格式utf-8(使用记事本或其他工具打开,在文件->另存为,编缉选择UTF-8格式)
    文档大小在15kb以内

  • 样式
    页面宽度:600px~800px
    尽量用特殊元素以及元素属性代替样式
    样式全部写为内联样式,无法继承,所以每个元素都要指定样式
    样式属性及样式值都要写完整,不能简写
    不支持margin/padding、background-imag
    给每个table加上边框border,间距使用cellpadding/cellspacing,边框合并border-collapse
    邮件居中显示:table添加align=”center”
    给img设定宽高和间距,使用width/height/hspace/vspace,border=0;display=block;

  • 语言
    邮件的html几乎只包含table/tr/td/span/img/a这几个元素
    从table开始编写,放弃body之外的DOCTYPE/html/head/body元素
    table布局,给每个单元格设定宽度,一个单元格放一张图片
    不要使用flash、java、javascript、frames、i-frames、activeX以及Dhtml,动图使用gif

示例:

<!-- 目前兼容性最好的Doctype,不能使用HTML5语法 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>邮件模板</title>
</head><body style="margin: 0; padding: 0;"><!-- 有效内容从table开始,最外层用来设置背景bgcolor,颜色值不可简写,边框需要清除border="0" --><!-- 全部使用内联样式,尽量用元素的私有属性代替css,禁用position/background/float/margin/padding --><!-- font-*族的CSS属性不允许简写,font-family可能会被过滤 --><table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#EDF9F5" style="font-size: 14px;font-family: Arial;"><!-- tr上不写样式,会被过滤 --><tr><!-- 使用空白的td,设置height用来占位 --><td height="30"></td></tr><tr><td><!-- 主体内容宽度为600px~800px,table居中布局align="center" --><table border="0" cellpadding="8" cellspacing="0" width="600" bgcolor="#FFFFFF" align="center"><tr><td bgcolor="#23c09d"><!-- 图片是唯一可以引用的外部资源,一个单元格放一张图片 --><!-- 图片转化为base64编码引入,动图使用gif,img要去除边框border="0" --><!-- 图片可能不会显示,需要注明alt,并设置alt的文本样式 --><img alt="LOGO" src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAvgAAAH6CAYAAAByAjh1AAAACXBIWXMAAA7E=" border="0" height="45" style="color: #ffffff;font-size: 14px"></td></tr><tr><td><!-- 显示边框border="1",需要合并border-collapse: collapse; --><table border="1" cellpadding="8" cellspacing="0" width="100%" align="center" style="border-collapse: collapse;border-color: #ebeef5"><tr><!-- font属性无法继承,需要在每个td定义font --><td height="60" align="center" style="color: #23c09d;font-weight: 500;font-size: 1.5rem;border-bottom: 1px solid #dcdfe6">邮件标题</td></tr><tr><td height="60" style="font-size: 1.1rem;color: #1f2f3d"><!-- 尽量不使用p,因为p在不同浏览器的样式不可控 --><span style="border-left: 3px solid #23c09d">一段文本</span></td></tr></table></td></tr></table></td></tr></table>
</body></html><!-- 最后要使用测试工具,查看不同邮件客户端的显示效果 -->
<!-- 发送HTML Email要用Content-Type: Multipart/Alternative; -->