整体注意规范
各邮箱系统不满足于富文本编辑器,所以增加了对HTML代码的支持,由于邮件的特殊性,在开发HTML邮件之前,要有一些心理准备。
*以下 国内各主流邮箱 代表qq邮箱(pc+mobile)、163邮箱、126邮箱、sina邮箱、苹果自带邮箱(pc+mobile)、outlook
一、放弃javascript
电子邮件往往含有个人、企业、政府的重要文件以及敏感信息,但随着互联网但发展,Internet上每天传送的电子邮件达数十亿份,在这种情况下,邮箱本身就存在严重的信息欺骗、机密泄露、病毒入侵等风险。所以不要抱任何邮箱会允许你注入脚本机会的希望。
二、放弃外链样式和内部样式(<style>标签)
有些邮箱是包装一个iframe,但有些邮箱是直接包装在一个div中(如最热门的qq邮箱),如果外链样式,那是不是整个邮箱网页都要被你的外链和内部样式影响。所以,也不要抱什么媒体查询等页面级样式才能实现的希望。
三、能不写css3就不写
不仅要顾及邮箱系统对css3样式的支持度(虽然国内几个主流邮箱支持都还行,国外一些邮箱就惨不忍睹了),还要顾及浏览器(以及邮箱软件套壳)对css3样式的支持度。要根据业务需求选择是否使用css3。
四、页面稍微复杂就尽量使用table布局
一些低版本的邮箱软件是不支持flex或者float,所以复杂布局还是使用table布局。
五、能不放图就不放图
base64的图也一样,也会被自动拦截,用户选择显示才能进行显示,所以能用文字描述的东西,就不要放图。图片上务必加上alt。
六、采用渐进式开发
正常html可以使用各种“黑科技”进行兼容,在邮箱上就不一定能如愿了,所以尽量采用渐进式而不是兼容式。
七、标签尽量只用div与table相关标签
只支持行内样式的,如果用其他标签,有些默认样式会坏你好事。优先级table相关标签>div
八、可以在qq邮箱中编辑、调试、发送html邮件
具体样式以收到的邮件为准。
细节规范
要根据具体业务需求去兼容各邮箱系统,对css样式的友好度国内各主流邮箱>国外主流邮箱>一些偏僻的邮箱及一些企业邮箱>低版本outlook,国内邮箱对css样式基本能够正常书写,除会有个别样式的bug。国外主流的邮箱的css兼容性很低,如果接复杂页面需要舍弃一些,如果选择了兼容低版本outlook,想都不用想,直接拒绝复杂页面。一些偏僻的邮箱如果有特殊的业务需求需要特别兼容,会有很多很多意想不到的bug。
整体页面规范
不要用html,body等标签这些标签会被过滤。
如果要兼容移动端,页面宽度在360px以下,不要期望meta标签的scale,也不要期望有些移动端邮箱软件会给你自动缩放,最好在最外围标签用max-height和min-height自我调节。如果只要兼容pc端最好在800px以内。
html代码大小尽量在15kb以内(不包括图片)。
邮件主题控制在18个字以内,避免使用特殊符号,容易产生乱码。
链接尽量使用a链接,直接写的链接可能会被做垃圾邮件。
如果群发邮件比较多,邮件名称最好在一定数量(20w左右)的时候变变。
不使用类似如下敏感及带促销类的文字:免费、优惠、特惠、特价、低价、便宜、廉价、视频、赚钱、群发、发财、致富、代开、薪水、交友、支付、商机、法宝、宝典、秘密、情报、机密、保密、绝密、神秘、秘诀等。如果一定需要,请把敏感字做成图片。
样式不一定会继承,所以多话时间重复写以下。
链接地址的长度不能超过255个字符,会导致无法追踪或链接错误。
10.写上<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
具体内容样式注意事项
个别注意规范
1.max-height ——qq邮箱安卓端中,图片的失效
margin——qq邮箱pc端中,margin不能填百分比,低版本outlook图片这个样式无效
padding——qq邮箱pc端中,padding不能填百分比,低版本outlook无效
float——outlook低版本不支持
position——完全不建议使用
background——outlook低版本与gmail不支持
overflow——outlook低版本不支持
text-overflow——outlook低版本不支持
。。。。反正要支持低版本outlook不要想些有的没的,用最原始的table布局以及table标签上的自带属性。
尽量书写方案
一个td里面不要放多个图片
dom的居中就用align=center,宽和高就用width和height标签属性,能用标签属性就用标签属性,背景也是
分割线用
,空白分割用
所有图片要设置border=0
链接的打开方式统一为:_blank
table中设置border=0
尽量减少百分比和auto的使用
将样式属性拆开写,比如要用到margin的时候拆开成margin-left等
注意清空元素默认样式
无内容的标签最好写上font-size:0; height:0;width:0;line-height:0;
不要在行内元素,或者行内块元素中添加块级元素
图片名称不能含有ad字符,否则图片上传后会显示成“被过滤广告”
链接数量不能超过10个
字体一般不会给你改
国内邮箱样式兼容得都还行,所以就尽量用兼容性最好的样式大胆地写,国外的邮箱有兼容的手册可以看一下专门的手册慢慢写
国外邮箱样式兼容情况
至于一些低版本outlook以及偏门的上面各种情况都要考虑到,然后小心地小心地写
最后有些邮箱发送软件会擅自添加一些东西,比如将有些空内容的标签添加 ,所以要注意,一切以收到的邮件为准。
邮箱这个根据业务需求来讲影响很大,有些邮箱能很好地适配css的各种属性,比如苹果的邮箱就体验不错,有些邮箱会有少许bug但整体不错,比如qq邮箱,企业邮箱的支持性会低一点,偏僻邮箱会有很多bug,新版outlook支持性也非常棒,但低版本outlook就是邮箱界的ie。应该说国外好多邮箱,都是不同版本的ie。
原文链接:https://blog.csdn.net/weixin_42476799/article/details/102537080