解决邮件SPF记录故障
2017-11-07
笔者所在单位在DMZ区域部署了自建邮件系统(如 图 1),为满足公网用户及内网用户都能正常的访问邮件系统,在出口防火墙配置了NAT双向地址转换(如图2)。

图1 邮件系统部署网络拓扑图

图2 防火墙对邮件服务器NAT双向转换设置
在此处之所以配置NAT双向转换,是考虑到内网用户需要通过公网地址访问邮件系统。如配置为NAT目的地址转换(即端口映射),则会造成邮件服务器返回内网用户的数据包目的地址被更改,数据不能正确返回到内网用户,造成通信失败。关于NAT地址转换的相关模式,在此不做介绍。
故障现象
用户通过公司邮件系统发送邮件正常。但公司邮件系统收取第三方邮件系统的邮件,则出现选择性收信故障:QQ等邮箱发送给公司邮箱的信件可正常收取 ;而 126、163等邮件系统无法正常发送给公司邮局信件,发送方收到错误退信提示:
SMTP error, DOT: 550 Requested mail action not taken: Invalid IP<218.X.X.3>
注:218.X.X.3为公司邮件系统公网地址。
故障分析
鉴于故障现象的特点,首先把故障分析的着眼点放到QQ邮箱与126邮箱的差异及故障退信的错误提示上。经联系企业邮箱客服及退信提示分析,退信是因为SPF记录检查不通过而导致的。
SPF“Sender Policy Framework,发件人策略框架”,是目前一种实用的反垃圾邮件解决方案。它是一种TXT类型的DNS记录,通过提前设定指定的、合法的发送电子邮件服务器IP记录,来验证邮件发件人的身份,即SPF记录指定了一个域名下的邮件必须通过哪些SMTP服务器来发送邮件。接收邮件方在接收邮件时,首先要检查发件方后缀域名的SPF记录,如SPF记录与发件人SMTP的IP相吻合,那就是合法邮箱。……
