被邮件客户端直接删除的html标签主要包括:1.、、、、几乎100%被静默删除;2.在gmail中完全失效;3.在ios mail中可能渲染为空白。

哪些HTML标签会被邮件客户端直接删掉
绝大多数邮件客户端(Gmail、Outlook、Apple Mail)在渲染前会预处理HTML,移除它认为“不安全”或“不支持”的标签。不是所有标签都平等——<script></script>、<iframe></iframe>、<object></object>、<embed></embed>、<form></form> 几乎100%被静默删除;<style></style> 标签在Gmail中完全失效,Outlook则只支持极简内联样式;<svg></svg> 在iOS Mail里可能渲染为空白。
真正能稳定存活的标签非常有限,核心白名单只有:<div>、<code><p></p>、<span></span>、<a></a>、<img>、<table>、<code><tr>、<code><td>、<code><th>、<code><ul></ul>、<ol></ol>、<li>。其中 <table> 不是“推荐用”,而是“不得不靠它布局”——因为 Outlook 仍依赖其解析宽度/居中等基础样式。
<h3>内联样式为什么比 class 更可靠</h3>
<p>邮件客户端对CSS的支持极其分裂:Gmail不解析<code><style></style>块,Outlook(尤其是Windows桌面版)会忽略大部分伪类(如:hover)和现代属性(如flex、grid),而Apple Mail对!important有特殊处理逻辑。唯一能跨平台生效的方式,是把样式写进style属性里。
-
<p style="margin:0; font-family:Arial, sans-serif; color:#333;"></p>✅ 安全 -
<p class="body-text"></p>+<style>.body-text{...}</style>❌ Gmail会丢掉整个<style></style>,class也无意义 -
font标签虽过时,但在Outlook 2016/2019中反而比style="font-family:..."更稳定,可作为备选
图片链接和alt文本的硬性要求
邮件中<img>被过滤或显示为红叉,往往不是因为标签本身,而是路径或属性缺失。Gmail强制要求src必须是HTTPS绝对地址;Outlook会拦截未声明width/height的图片(导致重排错乱);所有主流客户端都依赖alt文本作为图像加载失败时的降级内容——没写alt的图片,在部分企业邮箱网关中会被直接标记为“可疑内容”。
- 必须用
<img src="https://example.com/image.jpg?x-oss-process=image/resize,p_40" style="max-width:90%" style="max-width:90%" alt="活动主视觉"> - 禁止使用相对路径:
src="images/logo.png"→ 被当成本地文件拦截 - 避免空
alt="":屏幕阅读器会跳过,且某些反垃圾策略视为空内容风险 - 不要用
background-image:Outlook完全不支持,Gmail仅支持<table>层级的简单背景色 <h3>测试环节最容易被跳过的三件事</h3> <p>发几百封测试邮件不等于覆盖真实环境。很多团队只测Gmail网页版,却忘了Windows Outlook桌面客户端仍是企业邮箱主力;或者用工具生成响应式代码,但没验证<code>@media查询是否被全部客户端忽略(答案是:基本都忽略)。- 必须真机测试iOS Mail和Android Gmail App——它们的渲染引擎与网页版完全不同
- 用
litmus.com或emailonacid.com查display:none是否被Outlook误判为隐藏恶意内容(它确实会) - 发送前检查原始HTML源码:右键→“查看页面源代码”,确认没有残留
<script></script>、未转义的&(应为&)、或UTF-8 BOM头(会导致部分客户端解析失败)
最常被忽略的点:邮件HTML不是网页,它没有DOM就绪事件,也没有加载完成回调。任何依赖JavaScript交互的设计,从一开始就不该出现在邮件里——这不是兼容性问题,是根本不可行。











