编写HTML邮件规则

September 24, 2010

参考文章:http://ued.koubei.com/?p=239

由于最近经常做email campaign用于发送邮件,发现很多css在接收邮件里是有限制的,通过对以前的各位达人总结的学习,解决了这个问题,把一些心得记录下来。

通常情况下不只是做email campaign,如会员注册确认等很多情况都会遇到通过发邮件通知会员。而通过站方发给会员信件,往往纯文本不能满足需要,因此多数情况下我们就需要发送HMTL页面。而各个邮箱后面却有自己的过滤算法,在接受邮件的时候或多或少会对它们接收的HTML邮件在后台进行过滤,这些过滤算法也不能那么容易被我们知道的。所以我们只能通过发邮件的形式来推测过滤掉的信息。

通过广大高手的测试,可知道邮箱分为两类:

第一类包括gmail、hotmail、sohu,这类邮箱,邮件内容是被布局在整个邮箱页面中的某个div中.

第二,包括163、sina,这类邮箱,邮件内容被布局在独立的iframe

熟悉HTML都知道iframe完全是个独立的容器页面,与父页面没有任何关系。而div却整个邮箱页面的一个部分。这么看来DIV比iframe要严格的多。但不管是哪类邮箱,我们的目标肯定是保证大部分邮箱都能尽可能完美接收我们的邮件。为此列出一些编写规则:

1.javascript脚本文件毫无疑问,别说是操作DOM对象的属性,基于邮件安全性考虑,是被严格过滤,直接出局,不要用了。

2.不仅JS能被过滤,甚至CSS也会有部分过滤,类似于float、position等成非正常内容流的style会被部分邮箱过滤。

3.既然不能使用float左右布局,那么就只好用Table+CSS。

4.所有CSS避免使用外联写法,也不要用class,一律使用内联写法,避免与外部的CSS冲突导致页面乱了套。

5.少用图片,背景图不用CSS的background,有可能被过滤,所以使用table的background,虽然功能不及CSS,不过总比没的用好。。

不使用margin作为间距,使用padding,因为margin有些邮箱不支持。

6.少使用图片,用多了可能被当作垃圾邮件,而且每个图片要设置宽高,以免图片不能显示,并且加入Alt属性。

7.不要是的邮件布局太紧凑,留点宽度,避免不同邮箱可能出现文字溢出导致布局错乱。

8.不使用Flash、Java、Javascript、frames、i-frames、ActiveX 以及 DHTML。

Nginx 自动禁止爬虫IP采集

### 背景最近我们有一个公开服务提供给客户查询关键词的热度值,由于这个API做在官方网站上,自然没有用户登陆,也没有很高查询成本,所以设计上没有任何鉴权无法进行身份认定,于是就被一个爬虫开了超高并发请求,直接后端的AWS Tomcat CPU被用尽,导致无法响应。爬虫显然...… Continue reading

Redis原子性事务Lua应用

Published on June 28, 2020