什么是SPF,SPF技术浅析

Mr.zhuMr.zhu2025-08-15 12:30:11来源:微信视频号 (github.com/ltaoo/wx_channels_download)阅读:114
  1. 1、什么是SPF记录?

  2. 2、SPF有什么用?

  3. 3、如何查询SPF记录?

  4. 4、如何在dns管理中设置SPF记录?

什么是SPF记录?
   这里的SPF是指Sender Policy Framework。翻译过来就是发信者策略架构,比较拗口,通常都直接称为SPF。在域名管理系统中对域名做一条以SPF格式为准的txt记录即为SPF记录。

SPF记录有什么用?
   SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。例如: dig TXT domain.com
   domain.com. 27970 IN TXT "v=spf1 ip4:218.16.118.186 -all"
  按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。
   SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。
  由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。。

如何查询SPF记录?
   当前市场上很多邮件系统和供应商都已经开始支持SPF,比如163.com,那么该如何得到163.com的SPF值呢?在CMD环境中,键入:
   nslookup
   set type=txt
   163.com
  就会得到以下的结果:
   163.com text =
   "v=spf1 ip4:220.181.12.0/22 ip4:202.108.9.128/25 ip4:202.108.5.0/24 ~all"
   163.com nameserver = ns3.nease.net
   163.com nameserver = ns.nease.net
   ns.nease.net internet address = 202.106.185.75
   ns3.nease.net internet address = 220.181.28.3
  其中: "v=spf1 ip4:220.181.12.0/22 ip4:202.108.9.128/25 ip4:202.108.5.0/24 ~all"就是163.com的SPF值。
这个数据中说明了163.com有效合法服务器都有哪些!

如何设置SPF记录?
   进入域名解析创建一条TXT记录填写正确的SPF数据就可以生效了。
  格式如下:
   v=spf1 [[pre] type [ext] ] ... [mod]
  每个参数的含义如下表所示: 参数 描述
   v=spf1 SPF 的版本。如果使用 Sender ID 的话,这个字段就应该是 v=spf2
   pre 定义匹配时的返回值。
  可能的返回值包括: 返回值 描述
   + 缺省值。在测试完成的时候表示通过。
   - 表示测试失败。这个值通常是 -all,表示没有其他任何匹配发生。
   ~ 表示软失败,通常表示测试没有完成。
   ? 表示不置可否。这个值也通常在测试没有完成的时候使用。

   type 定义使用的确认测试的类型。
  可能的值包括: 候选值 描述
   include 包含一个给定的域名的测试
  以 include:domain 的形式书写。
   all 终止测试序列。
  比如,如果选项是 -all,那么到达这条记录也就意味着测试失败了。但是如果无法确定,可以使用 "?all"来表示,这样,测试将被接受。
   ip4 使用 IPv4 进行验证。
  这个可以以 ip4:ipv4 或 ip4:ipv4/cidr 的形式使用。建议使用这个参数,以减少域名服务器的负荷。
   ip6 使用 IPv6 进行验证。
   a 使用一个域名进行验证。
  这将引起对域名服务器进行一次 A RR 查询。
  可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式来使用。
   mx 使用 DNS MX RR 进行验证。
   MX RR 定义了收信的 MTA,这可能和发信的 MTA 是不同的,这种情况基于 mx 的测试将会失败。
  可以用 mx:domain, mx:domain/cidr 或 mx/cidr 这些形式进行 mx 验证。
   ptr 使用域名服务器的 PTR RR 进行验证。
  这时,SPF 使用 PTR RR 和反向图进行查询。如果返回的主机名位于同一个域名之内,就验证通过了。
  这个参数的写法是 ptr:domain
   exist 验证域名的存在性。
  可以写成 exist:domain 的形式。
   ext 定义对 type 的可选扩展。如果没有这个字段,那么仅使用单个记录进行问询。
   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"

猜你想看

热门新能源汽车的电机电控都是谁供应的?
王者荣耀:学会这些小技巧,轻轻松松成为野王
警惕!C1驾照扣分政策有大变化!这6种违章直接一次扣9分
低血糖赶紧吃块巧克力?错!
杭州最贵的四家度假酒店,我都替你们睡过了
黄金手镯“4不买”
我国10大名茶,黑白绿红乌龙普洱全面分析,你喝过最好喝的是哪种
速看!这10种情况会被注销机动车驾驶证
教师如何成为公务员?这两种方式都可行,但是难度相差很大
工龄满十年被辞退怎么赔偿
在北京去哪里吃正宗的粤菜?来这家就够了
物理界十大难题,解开其一就能得诺贝尔奖,能看懂的都是学霸
男人表示过喜欢你,却又不主动联系你,这是为什么?
到底什么样的越野车爬坡最厉害?我们用实测告诉你答案
Direct Contract黑屏/闪退/崩溃/无法启动的解决办法
女性要多吃这几种东西,别看它是零食,营养可是很丰富的哦!
跑步时四种呼吸技巧将帮助您轻松跑步
公司不再续订劳动合同违法吗,可以得到赔偿吗?
王者荣耀中李信和宫本武藏哪个更厉害?
法律、法规、标准中的“必须、应当、宜、可”的涵义和区别

推荐站点