模板里表格一层套一层,Outlook 2016 下内容区四周每层多出约 8 像素白边,整封邮件比设计稿宽出三十多像素。日志里能对上时间点,这种反而好排。
表格默认带 cellspacing 和 cellpadding,嵌套时每层的默认值累加。Outlook 用 Word 渲染引擎,对表格间距的处理和浏览器不一样。这一点先确认清楚,后面就不用反复试。
<table cellpadding='0' cellspacing='0' border='0' role='presentation'> <tr><td style='padding:0 16px'>
围绕「邮件表格嵌套」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
报错里带路径的,先去看那个路径在不在、权限对不对。同一份配置存在多处的,先确认改的是被加载的那一份。
新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
处理上按这个顺序:所有 table 显式写 cellpadding=0 cellspacing=0 border=0,一个都别省;嵌套控制在三层以内,需要间距用 td 的 padding 而不是空行表格;在 Outlook 2016 和网页邮箱各截一张图,按像素比一遍。
结果对不对很好判断,Outlook 里内容宽度与设计稿一致,四周不再出现累加的白边。
