HTML 邮件不是缩小版网页。客户端会删除样式、改写链接、代理图片,设备又会改变字体与可用宽度。因此,可靠的验收对象应当是“真实发送后的邮件”,而不是编辑器预览。
一、先固定测试基线
开始改模板前,先记录模板版本、发送环境、收件地址、发送时间和预期变量。每次只改变一组因素,例如只调整容器宽度,或只替换按钮结构。否则即使结果改善,也无法判断是哪项修改生效。
建议至少准备一个桌面客户端和一台 390px 左右的移动设备。若团队服务多个市场,还要加入最长语言样本、长邮箱、长订单号以及变量为空的样本。把这些样本保存在事务邮件实验台中,避免每次临时拼装。
模板版本、触发时间、收件时间、客户端、屏幕宽度、主题、From、截图和原始信头。没有这些信息,兼容性问题很难复现。
二、先检查信头,再看视觉
收件人最先看到的是发件人名称、主题和预览文字。主题应说明动作,例如“确认新设备登录”,而不是只写“重要通知”。From 名称要与用户刚刚完成的动作一致,Reply-To 则应指向有人处理的地址,或明确说明不可回复。
预览文字需要补充主题,而不是复读主题。还要检查较长主题在移动端截断后,关键动作是否仍然可辨。验证码、金额或订单状态不宜只依赖预览文字,因为部分客户端不会稳定展示它。
三、检查布局与响应式行为
桌面邮件主体应保持稳定的可读宽度;移动端则要允许单列自然收缩。优先使用邮件客户端兼容度更高的表格结构和内联关键样式,不要依赖网页项目里的 Grid、复杂定位或外部样式表。
- 在 390px 宽度下确认没有横向滚动,长链接与订单号可以换行。
- 确认标题、段落、列表和按钮间距形成稳定节奏,不因系统字体替换而挤压。
- 移除背景图后再次阅读,关键信息不能只存在于图片或背景色里。
- 放大到 200% 检查正文与操作是否仍可理解,按钮不应相互覆盖。
四、图片、按钮与动态内容要分别验证
关闭图片后,品牌装饰可以消失,但验证码、价格、日期和操作说明不能消失。信息型图片要有有意义的替代文字;纯装饰图片应使用空替代文本,避免读屏重复。
按钮要检查三个层面:文案是否说明动作、视觉按钮是否有足够触控面积、链接目标和参数是否正确。不要只点击设计工具中的预览按钮,应从收到的成品邮件里打开链接,确认重定向、登录态与失效路径。
动态变量尤其需要边界样本。姓名过长、订单列表为空、日期跨时区、货币位数变化,都可能破坏原本整齐的布局。为每类事务邮件保存一组正常值、一组长值和一组空值,会比上线后逐封救火更省时间。
五、无障碍与纯文本回退不是附加项
正文需要足够的前景与背景对比,链接不能只靠颜色辨认,阅读顺序应与视觉顺序一致。标题层级要帮助读屏用户理解内容,而不是为了字号随意跳级。动图若承载关键动作,首帧也必须表达完整信息。
纯文本版本应保留主题对应的上下文、验证码、有效期和完整链接。它不是把 HTML 标签全部剥掉后的残渣。发送前可先用 HTML 邮件测试清单逐项勾选,再比较 HTML 与纯文本是否传达同一个动作。
六、用真实发送完成发布验收
最后一步是从实际业务系统触发邮件,而不是从模板编辑器点“发送测试”。只有真实链路才能覆盖变量注入、队列、签名、链接改写和实际 From。复制一个独立测试地址,记录触发时间,并在邮件到达后同时核对信头与正文。
如果邮件没有按预期到达,不要立刻连续重发。先查看发送服务状态和地址拼写,再参考验证码邮件延迟排查顺序判断是等待、换地址还是重新触发。完成修正后要发送新的完整样本,不要用旧截图代替复验。