什么是SPF
是 Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术。
接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。
SPF可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你域名的SPF记录之后,
接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。
设置正确的 SPF 记录可以提高邮件系统发送外域邮件的成功率,也可以一定程度上防止别人假冒你的域名发邮件。
一般设置
我们架设的邮件系统就自用一台邮件服务器,在 DNS 指向里设置一条下面的 TXT 记录(SPF 记录)就可以了.
具体操作是:在域名服务商的域名控制面板里加一条类型是 TXT 的记录:
v=spf1 a mx ~all
或者用比较严格的
v=spf1 a mx -all
如果除了邮件服务器,网站也可能直接发邮件(假设ip是 218.13.20.15),也可能通过中继服务器发邮件(假设ip是 210.120.1.20), TXT 可以设置为:
v=spf1 a mx ip4:218.93.120.45 ip4:210.120.1.20 ~all
注意有的域名服务商不支持设置 txt 记录, 只能和对方联系。
检查spf指向是否生效
nslookup -q=txt winmail.net
【
请将 winmail.net 改成你的域名 】
下面是阿里云(万网)域名控制台里设置 TXT 记录的说明:
A: TXT
B: 设置顶级域名直接留空,系统会自动变成 @;如果使用的域名系统不允许为空,就输入 @
C: 默认
D: v=spf1 a mx ~all
E: 不能设置
TTL: 默认 10分钟
关于SPF更详细的信息请参考:
SPF标准(英文):
http://www.ietf.org/rfc/rfc4408.txt
SPF 记录百度百科:
http://baike.baidu.com/view/1372988.htm
什么是 DNS SPF 记录?
Cloudflare
SPF 在线检查(英文):
https://www.kitterman.com/spf/validate.html
可以发封任意内容的邮件到
check-auth@verifier.port25.com
会收到针对发件人系统 SPF 设置检测结果邮件
进一步还可以设置 DMARC 记录,请参考
如何设置 DMARC