一、前言 

     电子邮件作为一种不可多得的互联网通信手段日益发展的同时,反垃圾邮件技术也以魔高一尺道高一丈的势头前进。邮件营销、以及以邮件订阅为生计的企业越来越吃力不讨好,他们的邮件动辙被邮件运营商认为是垃圾邮件而被拒于门外,尤其是那些由系统自动群发的邮件。本文的作者曾经在两个大型邮件运营商从事过多年的反垃圾及互通工作,发现其中的邮件被误过滤的根本原因有二,一是发送技术不规范,二是缺乏有效的沟通反馈,导致好人当坏人办。 因此本文主要从技术和沟通两方面阐述合理回避邮件过滤的种种技巧。需要明确一点的是,本文教授的是如何避免正常邮件被误判为垃圾邮件,并非教授如何发垃圾邮件,想做点坏事的朋友,你还是回火星吧,地球是很危险的。

二、搭建你的邮件系统

搭建起邮件服务器,你需要邮件系统的基本知识,SMTP协议规范,MIME编码规范,MX记录这些基本的东西这里不重提,需要补习的请参考相应的RFC文档。

(一) IP地址选择

选择放置邮件服务器的IDC,更准确地说是所在的IP段,应选择处于完全静态C类IP段之内,最好B类IP段也是静态的。注意有时电信运营商分配的单个所谓静态IP,可能处于一段C类动态IP段(如ADSL)之内,这时候你的IP就很容易被认为是动态IP,要知道,动态IP在邮件运营商那里是不受欢迎的。另外要检查IP是否被列入国际黑名单(RBL),像MAPS这类RBL经常将国内的整个B段列入黑名单的。这部分后面解释RBL的时候再说明。

(二) 邮件发送软件选择

使用一个权威的第三方发送软件,可以免去你很多烦恼。POSTFIX、QMAIL、FOXMAIL、AIMC、COREMAIL等在编码规范、SMTP会话规范方面都有着可靠的经验,基本不会出现协议级的低等错误。如果你选择自主开发,那就要好好补习RFC文档了。 
如果你的系统有提供给个人用户自定制内容发邮件的功能,如邀请信,贺卡等,你还需要安装一套基本的反垃圾软件,作为一个自律的发送方,这很有必要。

三、为IP建立DNS记录

为什么要为IP做DNS记录?就是要告诉你的接收方,我是合法的。没办法,坏人当道的年代,为免错杀,好人得在身上挂个牌子,写着“我是好人”。 
    下面假设邮件服务器有两台:202.100.100.1    202.100.100.2, 邮箱域名是“@abc.com”

(一) A记录

主机名

记录类型

IP

server1.abc.com

A

202.100.100.1

server2.abc.com

A

202.100.100.2

其中server1.abc.com是在SMTP会话时,向对方服务器发送HELO命令后带的主机名参数。如“HELO server1.abc.com”。该A记录通常在提供abc.com域名的运营商处可以申请。

记录生效后,通过nslookup命令查询应该有如下结果,以QQ邮箱为例 

(二) PTR记录

IP

记录类型

主机名

202.100.100.1

PTR

server1.abc.com

202.100.100.2

PTR

server2.abc.com

如你所见,PTR记录其实是A记录的反向,A记录将域名解释为IP,PTR记录将IP解释为域名。通常在分配IP地址的电信运营商处可以申请。

记录生效后,通过nslookup命令查询应该有如下结果,以QQ邮箱为例 

(三)TXT记录

               域名

记录类型

IP

abc.com

TXT

202.100.100.1

abc.com

TXT

202.100.100.2

如果你用上了整个C段的IP,像下面这样做就省事多了(注意:A记录和PTR记录可不能偷这个懒,还是老老实实一个一个IP做吧)。

域名

记录类型

IP

abc.com

TXT

202.100.100.0/24

TXT记录用于声明本邮箱域名的真正服务器IP,同样在提供abc.com域名的运营商处可以申请。

记录生效后,通过nslookup命令查询应该有如下结果,以QQ邮箱为例

A记录与PTR记录互相偶合在一起,表明你的IP地址是静态的,邮件服务器是固定的。TXT记录能帮助接收方排除仿冒你的域名的来源邮件,从而使你发出的邮件更加可信。反垃圾和人一样,一切拒绝都是从不信任开始,而一切不信任都是从不了解开始。主动告诉对方你是好人,绝对有百利而无一害。

四、联系大型邮件运营商

到此为止,你已经完成了“我是好人”这个牌子了,但有些人就是不爱主动去看别人身上的牌子的,甭管为什么,互通领域暂时还是接收方市场,谁叫我们是发送方呢,就低声下气地去打个招呼吧。很多时候我们的邮件主要是发向几个大的域名,他们拥有占全国以至全球为数最多的个人用户,国内的如网易、新浪、搜狐、腾讯,国外的如雅虎、Google、Hotmail等等。主动联系他们,告诉他们你的公司名称、业务范围、邮件服务器IP、邮件类型、发送对象、流量等信息,别忘了强调你挂着的好人牌子。他们大部分会有IP白名单系统,让你的邮件在较宽松的反垃圾策略下投递(注意是较宽松不是全无限制)。进一步申请加入他们的白名单系统。

另外,工信部下属机构有一个中国互联网协会反垃圾邮件中心,近年来他们充当各个门户网站之间的桥梁,共享一个IP黑白名单平台,定期发布国内外的IP黑白名单。你应该已经看得出来,他们也是你得联系的对象了,那就赶快吧。

五、开始发邮件了

忙了一通,关系拉了一箩,一切就绪,总算可以开始发邮件了,每天给多少人发?每人发多少?发些什么内容?也许你一兴奋就忘了这些问题了,都已经是好人了,还需要省着发吗?对不起,是的,否则坏人也写个“我是好人”了。以下是你需要尽可能遵守的原则,没办法,做好人就是这么辛苦,除非你不介意被反垃圾。

(一) 邮件格式

  1. 整齐简洁的排版,专业的语言,一句话,不要太山寨了。
  2. 尽可能缩小邮件体积,夹大附件的邮件通常不太受欢迎
  3. 在显眼的地方标有退订入口,会为你的诚意增添几分。 

(二) 邮件内容

  1. 注册信、密保信等重要邮件请在主题标明类型,运营商一般都不会过滤。
  2. 纯广告的邮件最好少发,这是最不受运营商欢迎的,大多数情况下,你的会员并不需要牛皮藓广告,倘若真要发的,请放慢速度,细水长流。主题别忘了加上“(AD)” 
  3. 订阅信息邮件也是一般不会被过滤的,为区别纯广告,原文最好有用户的个性化称呼。但不要钻空子,在其中狂做广告。挂羊头卖狗肉的事情只会降低你的诚信度。
  4. 近年来很多SNS网站兴起,通过群发好友邀请信迅速壮大,说白了,就是走不劳而获的捷径,邮件运营商是不会把积累多年的用户关系链让你随随便便挖空的,这类邮件,被拒于门外只有认命了。

(三) 发送规范

  1. 由系统群发的邮件请使用相同的发件人,如service@abc.com就比较好辨认。同时该发件人地址应该能收信,避免接收方退信时失败而造成对方邮件队列堆积。
  2. 如果是自动中转邮件,即使原文中发件人使用原始发信方,如mike@163.com,但SMTP会话中的mail from指令也应该使用本域发件人service@abc.com,否则容易被认为是冒用163.com的域名发送。
  3. 注册信、密保信等重要邮件最好与纯广告、订阅信分开不同的IP发送,一但发生广告信IP被封,也不会影响正常会员的注册功能。

六、打造高信誉度口碑 
    
    加入白名单后,并非就意味着一劳永逸,你需要维持你的IP有高的信誉度、好的口碑,才是长期发展之道,除非你不介意三天两头打电话去运营商处受人脸色。

(一) 更新有效收件人地址

经常滚动更新你的会员列表,去掉已经注销的用户或已经退订的会员。做得更细致一点,通过在邮件中放置一些URL,把长期阅读点击率偏低的会员去掉。诚然,这可能会让你损失那么一点潜在用户,但换来好的口碑。何况,激活长期不阅读的沉睡会员的可能性微乎其微。

(二) 主动清理门户

有些功能可以提供会员向外发邮件,例如邀请信,贺卡等。别有用心的人可能利用这些功能群发垃圾邮件、欺诈信息、政治敏感信息等,这无异于养虎遗患。这类会员是坚决要清理掉的。

七、我被反垃圾误判了

功夫做得再多,还是有被错杀的一天,别着急,至少我们是好人,认真搞清楚原因,与运营商好好沟通,问题一般不难解决。

(一)  定位问题

定位问题,最直接的方式是查看系统日志,捕捉SMTP会话中接收方返回的错误信息。不同的邮件软件有不同的返回信息,但基本相似,懂一点英文及邮件系统常识的应该能读懂。这里需要定位的是究竟是系统问题还是用户问题。我们以下面的例子说明:

系统问题: 
Connection time out
Open relay denied
IP involved in rbl
Server refused mail service

用户问题: 
User not found
Mail size exceeded
No space in mail box

正像你看到的,系统问题一般是由网络、RBL、内容过滤,会话规范、频率限制一类的全局问题导致。而用户问题一般是由对方用户名、邮箱空间之类的个别问题导致的。 
我们需要去解决的,通常仅仅是系统问题。倘若出错信息晦涩不明,难以定位,那就不要浪费时间了,直接到一下步----沟通申诉。

(二)  沟通申诉

所谓解铃还需系铃人,在你清楚了出现的系统问题后,唯一能做的就是去联系接收方。一般国内的运营商都有专门的技术人员负责对外联系并处理反垃圾误判,这时候说不定对方也很着急,因为误判对双方都没有好处。但国外的运营商可能由于企业文化的不同,一般不让你直接联系,通常你得发个邮件到客服邮箱,或者访问他们的申诉页面。 
联系对方之前,你需要准备一些资料,以便对方提高排查速度和准确率。

  1. 被误判的本方IP地址
  2. 返回错误信息的对方IP地址
  3. 错误日志,你的邮件系统最好具备清晰易懂的日志输出,有完整的时间点,收发件人,错误信息等记录。

正常情况下的误判,邮件运营商都能为你排除,除非你的IP被列入了RBL,而接收方又刚好调用了此RBL,换句话说,发生误判的不是该运营商,而是这个RBL。这时候需要沟通的对象就是这些RBL机构,你要有心理准备,他们一般是比较难沟通的,这就是我为什么强调一开始选择IDC时要选择一个没有被列入RBL的IP段。具体请看下一节。

八、关于实时黑名单(RBL)

Real-time black list(RBL)是一种公开的DNS查询服务,邮件接收方可以通过查询该DNS服务得知某一来源IP是否经常性垃圾邮件发送源。至于RBL中的黑名单IP如何收集,各家RBL有自己的技术,这里不详述。

这里有一个著名黑名单组织Spamhaus的典型RBL拦截信息

554 5.7.1 : Recipient address rejected: blocked using sbl-xbl.spamhaus.org

登陆www.spamhaus.org,可查询IP被列入RBL的具体原因、被捕捉的垃圾邮件样本、以及申诉撤消的入口。 
    

其他的RBL大同小异,目前主流的RBL机构有:

国外: 
http://spamblock.outblaze.com/
http://www.spamhaus.org/
http://www.mail-abuse.com/
http://www.spamcop.net/

国内: 
http://www.anti-spam.cn/
http://www.anti-spam.org.cn/

九、作者的话 
    
    反垃圾邮件系统是一把双刃剑,误判现象是必然的产物,就像再精明的警察也不可能一眼看出谁是好人谁是坏人一样。在命中率与误判率之间寻求一个平衡点,是反垃圾邮件永恒的话题。邮件收发双方都有义务朝着这个目标努力,主动沟通,为双方各自的用户营造放心可靠的服务体验。不要把申诉沟通看成是双方博弈的战场。双赢,才是真的赢。

怎么防止邮件被判为垃圾邮件?【邮件群发的技巧点滴】相关推荐

  1. 【深度学习】对抗扰动、垃圾/钓鱼邮件自动分类和UEBA

    [深度学习]对抗扰动.垃圾/钓鱼邮件自动分类和UEBA 文章目录 1 数据集 2 清洗数据集 3 GloVe + LSTM 4 GloVe词向量模型 5 搭建网络整体结构 6 训练模型并验证 7 对抗 ...

  2. 如何避免自己发出的邮件被误判为垃圾邮件

    电子邮件开发客户一定要花些时间了解邮件收发规则,做好严格的测试,在模板统一之后,先尝试发到自己的几个邮箱里(Yahoo.163.Gmail. Foxmail)看看是否会误判为垃圾邮件.如果自己辛辛苦苦 ...

  3. 【独立站运营】营销邮件被判定为垃圾邮件?四个方法教你避开

    电子邮件是当前流行的信息通讯方式,具有低廉.快速的特性.相较于国人依赖使用微信等即时通讯软件,少有查看邮件箱的情况,外国人一般都拥有定时查看邮件的习惯.基于此,独立站卖家经常通过群发邮件的方式,向买家 ...

  4. python垃圾邮件识别_Python贝叶斯推理垃圾邮件分类

    针对贝叶斯垃圾邮件分类,阮一峰大神在多年前曾经写过一篇博客文章,他写的有些观点看起来很简单明了,不过我有点不是很理解其推导过程,虽然最后的结果等价,但是我还是觉得他的那套简单推导,感觉不太容易理解,可 ...

  5. 社交网站用户,垃圾病毒邮件多

    社交网站用户,垃圾病毒邮件多    现如今社交网站成为人们消遣.娱乐.交友的主要场所,在浏览网站时,需要注册相关信息,尤其多数要留下电子邮箱,以供开通验证,但是随后我们将面临的 可能是无尽的网络广告. ...

  6. 中文邮件营销html模版,怎么制作邮件营销模板?— —邮件格式

    怎么制作邮件营销模板?- -邮件格式 U-Mail邮件营销平台 发表时间 2017-09-21 人气 757次 做EDM邮件营销,需要有好的邮件群发工具,还要有好的内容,那么如何制作好邮件营销的模板呢 ...

  7. 发错邮件后你知道怎么撤回邮件吗?163vip邮箱邮件撤回了解一下

    在生活和工作中你有发错过邮件吗,当你不小心发错了邮件,有没有想到邮件撤回这个功能呢,在不小心发错邮件后,我们可以用邮件撤回的功能,来进行邮件撤回,这样就可以避免发错邮件的尴尬了,你会用吗,一起来看看吧 ...

  8. QQ邮箱邮件被拦截该怎么办?邮件被拦截的三种解决办法

    邮箱是我们的最传统以及最广泛以及至今仍十分重要的通讯平台和工具,求职或朋友间的通讯信息需要邮件方面就不说了,很多时候绑定邮箱或者密保邮箱,这个对邮箱是相当重要的,但是很多时候邮箱就是不听话,邮件发送了 ...

  9. python进行邮件发送以及django中利用邮件注册激活功能

    协议 SMTP协议 SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议.它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮 ...

最新文章

  1. java微信附件下载_WxJava微信开发工具包
  2. Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解
  3. 为什么计算机模拟不了人脑,为什么计算机永远不会拥有人类的意识?听完科学家的解释恍然大悟...
  4. Learning to Rank 中Listwise关于ListNet算法讲授及实现
  5. return print
  6. 44 FI配置-财务会计-固定资产-一般评估-指定购置和生产成本值的转移
  7. 恨iPad是一种无知的畸形意识行为
  8. linux 系统安装mysql (rpm)
  9. 游戏开发之C++Vector动态数组及其迭代器的实现--简单版(C++基础)
  10. Struts2学习笔记一之工作原理和struts.xml解析
  11. Python 作为小程序后端的三种方法
  12. Jar包的理解与应用
  13. 反向传播神经网络概念,反向传播算法作用
  14. 【NLP】依存句法关系符号解释
  15. 331.验证二叉树的前序序列化
  16. 【论文阅读】3D Topology-Preserving Segmentation with Compound Multi-Slice Representation
  17. Docker笔记:收集Docker常用的一些命令
  18. 【接口篇 / Wan】(7.0) ❀ 05. 将 4G 作为备用宽带使用 ❀ FortiGate 防火墙
  19. VUE3.0从安装到应用 (2)
  20. 计算机网络知识点总结——第六章应用层

热门文章

  1. JS 08——①遍历数组, 获取数组最大值 ②遍历数组,获取数组最小值③遍历数组,判断数组中 是否有某个值
  2. 近端梯度法解 LASSO —— python 实现
  3. Java线程的创建方式
  4. JS 数组去重的4个方法
  5. Python之几何集合操作模块Shapely的简介
  6. android 和 iphone x,一机用两年,iPhoneX相当于目前安卓旗舰什么水平?
  7. 强烈反对“下月起我国新售个人电脑将预装上网过滤软件”
  8. JavaScript 学习笔记day01
  9. 验证键盘录入的用户名跟user.txt中已注册的用户名是否重复:是:控制台提示:用户名已存在否:将键盘录入的用户名及密码写入user.txt文件,并在控制台提示:注册成功;
  10. vue3一键换肤+存储