分类:
2009-04-08 13:24:27
SPF的完整意思为 "Sender Policy Framework"。翻译过来就是发送方策略框架,是一项跟 DNS 相关的技术,它的内容写在 DNS 的 txt 类型记录里面,关于更详细的信息请参考 RFC4408:
SPF 的原理是使用电子邮件的头部信息中的 'Return Path' 或 'Mail From' 这两个邮件头里的域名来结合真正提供这个邮件的服务商 DNS 里面的记录去验证发送邮件服务器是否是冒充行为。
SPF 的官方网站是:
当信件发送到一个 MTA 后,这个 MTA 会检查邮件的邮件头,然后进行 DNS 查询,如果认为这个域的 IP 地址不是所定义的那就证明他是一个假冒的,这时候就会把邮件退回去。
如何查询某个域名是否开启SPF,可以使用以下命令:
# dig -t txt 域名
v=spf1 / 表示 spf1 的版本
- Fail, 表示没有其他任何匹配发生
~ 代表软失败,通常用于测试中
? 代表忽略
IP4 代表IPv4进行验证
IP6 代表IPv6进行验证
all 代表结束
大家可以通过这个向导来设置自己的SPF记录
举例说明:
* 163 的 SPF 记录:
163.com. 18000 IN TXT "v=spf1 ip4:220.181.12.0/22 ip4:202.108.5.64/26 ip4:202.108.5.128/25 -all"
sohu.com. 600 IN
TXT "v=spf1 ip4:61.135.130.0/23 ip4:61.135.132.0/23
ip4:61.135.134.0/23 ip4:61.135.145.0/23 ip4:61.135.150.0/23
ip4:220.181.26.0/24 ip4:222.28.152.128/25 ip4:218.206.87.0/25
ip4:221.236.12.128 ip4:203.184.141.0/24 ip4:61.152.234.0/24 ~all"