电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10087|回复: 0

如何为邮箱系统设置spf记录

[复制链接]
admin 发表于 2014-2-22 21:03:20 | 显示全部楼层 |阅读模式
1、什么是SPF记录?SPF是 Sender Policy Framework的缩写,SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。

由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。

假如Aol.com的一个真实发件人给pobox.com发送一封邮件,pobox检查aol的SPF记录,以确定这封邮件是否是从AOL许可的机器上发送的。(这封邮件的来自的IP地址是否在AOL的SPF记录中)。如果是,则pobox将允许这封邮件通过。    相反,若有人假冒AOL发送邮件给pobox,pobox检查AOL的SPF记录,发现发件者IP并不再记录中,这封邮件将被阻断。
通过设置SPF记录,可以阻止其他用户伪造你的域名进行发送

添加SPF记录的方法:

    这方法很简单,只要我们的DNS供应商提供的管理界面中可以添加SPF记录就可以设置了(不是所有的供应商都会单独提供spf,大部分的域名商都没有单独给出spf类型,都是用txt记录类型来代替)。设置时,在域名的“DNS解析”里,添加一条新记录,DNS记录类别请选择“TXT记录”,内容填写 SPF字符串,然后点“保存”即可。 spf字符串的格式一般如 "v=spf1 ip4:106.120.108.0/24 ~all"

spf字符串分三部分:

   (1)v=spf1 说明是一个SPF的v1记录

   (2)ip4:67.202.107.106 说明邮件会从此声明IPv4地址发出。它可以是一个IP,或一个IP段。如果有多个IP或多个IP段的话,可以声明多个ip4记录(如“ip4:1.0.1.0/24 ip4:1.0.2.0/24″),每个ip4记录间用空格分隔。另外,除了用IPv4外,还可以有如下选择:

       1) ip6: 使用IPv6 进行验证。

       2) a: 使用一个域名进行验证。这将引起对域名服务器进行一次A RR 查询。可以按照a:domain, a:domain/cidr 或a/cidr 的形式来使用。

       3) mx: 使用DNS MX RR 进行验证。MX RR 定义了收信的MTA,这可能和发信的MTA 是不同的,这种情况基于mx 的测试将会失败。 可以用mx:domain, mx:domain/cidr 或mx/cidr 这些形式进行mx 验证。

       4) ptr: 使用域名服务器的PTR RR 进行验证。这时,SPF 使用PTR RR 和反向图进行查询。如果返回的主机名位于同一个域名之内,就验证通过了。这个参数的写法是ptr:domain

       5) exist: 验证域名的存在性。可以写成exist:domain 的形式。

       6) ext: 定义对type 的可选扩展。如果没有这个字段,那么仅使用单个记录进行问询。

       7) mod: 这是最后的类型指示,作为记录的一个修正值。修正值 描述:

redirect 重定向查询,使用给出的域名的SPF 记录。

以redirect=domain 的方式使用。

exp 这条记录必须是最后一条,允许给出一条定制的失败消息。

IN TXT “v=spf1 mx -all exp=getlost.example.com”

getlost IN TXT “You are not authorized to send mail for the domain”

(3)-all 定义匹配时的返回值,可有如下选择:

   1) + 缺省值。在测试完成的时候表示通过。

   2) – 表示测试失败。这个值通常是-all,表示没有其他任何匹配发生。

   3) ~ 表示软失败,通常表示测试没有完成。

   4) ? 表示不置可否。这个值也通常在测试没有完成的时候使用。

所以"v=spf1 ip4:67.202.107.106 ~all"的意思是这个域只有67.202.107.106这个IP可以发邮件出来,其他IP的都是非法的。

如果有多个ip 中间可以用空格:"v=spf1 ip4:67.202.107.106 ip4:67.202.107.107 ~all"

也可以是一段ip或者是多个段的ip "v=spf1 ip4:67.202.107.0/24 ip4:67.202.106.0/24 ~all"

   个人推荐  "v=spf1 ip4:67.202.107.0/24 ~all"

下面网页可以用来帮助您验证域名的 SPF记录是否存在:
         http://www.kitterman.com/spf/validate.html
         http://www.vamsoft.com/spfcheck.asp
另外,也可以通过 nslookup 来查看某个域名的spf记录,例如:
     在dos命令窗口:  nslookup -q=txt  jsjlt.com

验证是否有问题:
     添加spf后,用邮箱给gmail发一封邮件, 登录gmail后,查看收到的邮件的邮件头,如果看到 pass spf  的字样,说明spf被验证通过,说明你的spf设置没有问题。





您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-12-27 06:07 , Processed in 0.096485 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表