从2009年6月19日开始, 客人DIANA反映邮局出现问题, 她的一个客人, 以前可以正常收发邮件, 那天以后, 对方的邮件被退回去,发不过来了。但DIANA可以成功发信给他。
查了服务器端日志,如下:
Jun 24 22:35:55 2009 - 1245854155 Child: 83676: the sender was rejected by our SPF checker. (helo: avas-mr16.fibertel.com.ar, mail: xxx@acqgroup.com.ar, ip: 24.232.0.248)。
这是域名acqgroup.com.ar的SPF记录没配置好出现验证失败的缘故。说明对方添加的域名TXT记录与smtp发送ip 24.232.0.248 不匹配,导致收件方的验证机制验证失败并拒收。
解决办法:
联系对方检查域名txt记录的spf值,重新添加、修改或取消txt记录。
什么是域名TXT记录?
用户可点击“生成简单的SPF信息”来生成简单的SPF信息
TXT 记录,一般指为某个主机名或域名设置的说明,如:
admin IN TXT "管理员, 电话: 13901234567"
mail IN TXT "邮件主机, 存放在xxx , 管理人:AAA"
Jim IN TXT "contact: abc@mailserver.com"
也就是说您可以设置 TXT ,以便使别人联系到您
设置TXT的主要目的是,向hotmail这样的邮局开始过滤掉没有做SPF的邮件,用户可以为域名设置含有SPF信息的TXT记录,避免邮件无法正常收发。
什么是SPF信息?
SPF(或是Sender ID)是Sender Policy Framework的缩写。
由于同一个域名可能透过多台的mail server或是ISP寄信,通过IP地址来反向解析看是否为伪造信件的方式就不够用了(我们也经常可以收到发件人是自己的垃圾邮件)。因此就出来了域名 验证的观念,包括domain key和SPF这两大类,都必须在网域名称的DNS记录中加入一笔记录。
SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟 mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。例 如:当邮件服务器收到自称发件人是spam@gmail.com的邮件,那么到底它是不是真的gmail.com的邮件服务器发过来的呢?那么我们可以查 询gmail.com的SPF记录。SPF可以防止别人伪造你来发邮件。
当你定义了你域名的SPF记录后,接收邮件方会根据你的SPF记录来判断连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮 件,否则则认为是一封伪造的邮件。现在绝大部份反垃圾邮件系统都支持SPF过滤,这种过滤一般不会有误判,除非是邮件系统管理员自己把SPF记录配置错误 或遗漏。
正确设置后邮件头一般显示如下
Received-SPF: pass (google.com: domain of wordpress@your_domain.com designates 72.47.192.112 as permitted sender) client-ip=72.47.192.112;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of wordpress@your_domain.com designates 72.47.192.112 as permitted sender) smtp.mail=wordpress@your_domain.com
关于SPF是否有设定的必要?一般认为有加上SPF比较好,怕万一碰到哪个收件服务器有采用SenderID机制来过滤信件的话就有用处了。
如何增加SPF记录,非常简单,在DNS里面添加TXT记录即可,可以使用下面两个SPF生成检查工具:
http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx
http://old.openspf.org/wizard.html
关于更详细的信息请参考RFC4408(http://www.ietf.org/rfc/rfc4408.txt
http://www.behindgfw.com/archives/2009/03/domain-spf-record.html