utf-8是html邮件唯一安全的选择,因其被gmail、apple mail、outlook web等主流客户端广泛支持;gb2312/gbk则基本不被识别,非utf-8编码在ios mail和android gmail app中易出现中文方块或截断,且必须用声明,禁用,并确保文件保存为utf-8无bom。

HTML邮件必须用 UTF-8 编码,且 <meta> 标签要写在 里,否则 Outlook、Yahoo 等客户端会乱码或直接拒收。
为什么 UTF-8 是唯一安全的选择
GB2312 或 GBK 在 Gmail、Apple Mail、Outlook Web 中基本不被识别;部分老版 Outlook(如 2007/2010)对 UTF-8 的 BOM 头敏感,但只要不带 BOM 就稳定。实测中,任何非 UTF-8 编码的模板在 iOS Mail 和 Android Gmail App 中都大概率出现中文方块或截断。
- 必须声明:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - 不能只靠文件保存编码,
<meta>标签是客户端解析的第一依据 - 编辑器保存时务必选 “UTF-8 无 BOM”(VS Code / Sublime / WebStorm 默认可能带 BOM)
- 不要用
<meta charset="UTF-8">—— Outlook 桌面版会忽略它,只认http-equiv形式
Doctype 声明不能省,但只能用 XHTML 1.0 Transitional
HTML5 的 在 Outlook 桌面版中会被静默删除,导致整个文档降级为 quirks mode,表格边距、行高全部错乱。Gmail 和 Hotmail 虽然兼容 HTML5 Doctype,但为保全链路一致,必须统一降级。
- 正确写法:
- 必须配
,否则某些 Outlook 版本会丢弃内容 - 不要加
<meta name="viewport">—— 邮件客户端不解析它,反而可能触发 Gmail 的垃圾邮件规则
文件体积超 15KB 就可能进垃圾箱
不是“大概率”,而是真实阈值:Yahoo 和 AOL 明确将 >15KB 的 HTML 邮件归类为可疑内容;Outlook.com 对 >12KB 的模板开始限制图片加载;163/NetEase 邮箱会在 >10KB 时自动折叠正文。
- 压缩手段有限:不能删空格换行(有些客户端依赖缩进解析),但可删注释、合并重复 style 值
- 图片必须外链,且路径不能含中文或空格 —— 否则 URL 解析失败,
<img>变成 0×0 占位符 - 避免内联 base64 图片 —— Outlook 全系列、iOS Mail 完全不支持,且直接推高体积
- 所有字体名必须用英文逗号分隔,且结尾补
sans-serif或serif,否则 QQ 邮箱会判为垃圾邮件
最易被忽略的一点:即使你写了正确的 charset 和 Doctype,只要服务器返回的 HTTP header 里 Content-Type 缺少 charset=utf-8(比如只写 text/html),Gmail 和 Apple Mail 仍会按 ISO-8859-1 解析 —— 这种问题在线下测试永远发现不了,只有发信后才暴露。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











