RSS订阅王佳明的个人网站
你现在的位置:首页 / 技术 / 正文

SPF 记录原理语法法简介摘要

0 技术 | 2024年2月22日

SPF,全称为 Sender Policy Framework,即发件人策略框架。

SPF记录检测工具 https://www.kitterman.com/spf/validate.html?

当前 Email 通信,还是在使用 SMTP 这个协议。SMTP 的全称为 Simple Mail Transfer Protocol,即「简单邮件传输协议」。正如它的名字锁暗示的,SMTP 实际上是一个非常简单(甚至简陋)的传输协议,本身并没有很好的安全措施。根据 SMTP 的规则,发件人的邮箱地址是可以由发信方任意声明的。

SPF 出现的目的,就是为了防止随意伪造发件人。

SPF 记录实际上是服务器的一个 DNS 记录,原理:

假设邮件服务器收到了一封邮件,来自主机的 IP 是185.125.79.101,并且声称发件人为email@example.com。为了确认发件人不是伪造的,邮件服务器会去查询example.com的 SPF 记录。如果该域的 SPF 记录设置允许 IP 为185.125.79.101的主机发送邮件,则服务器就认为这封邮件是合法的;如果不允许,则通常会退信,或将其标记为垃圾/仿冒邮件。

因为不怀好心的人虽然可以「声称」他的邮件来自example.com,但是他却无权操作example.com的 DNS 记录;同时他也无法伪造自己的 IP 地址。因此 SPF 是很有效的,当前基本上所有的邮件服务提供商(例如 Gmail、QQ 邮箱等)都会验证它。

SPF 记录的语法

举例:

"v=spf1 mx -all"  

表示允许所有该域的MX邮件服务器发送邮件,禁止其他的。

"v=spf1 -all" 

表示该域不会发送任何邮件。

"v=spf1 +all" 

表示任何服务器都可使用该域名发送邮件

"v=spf1 ip4:192.168.0.1 -all" 

表示只允许IP地址192.168.0.1。

"v=spf1 ip4:192.168.0.1/16 -all" 

表示只允许192.168.0.1~192.168.255.255范围内的IP地址。

"v=spf1 ip6:1080::8:800:200C:417A -all" 

表示只允许IP地址1080::8:800:200C:417A

"v=spf1 ip6:1080::8:800:68.0.3.1/96 -all"

表示只允许1080::8:800:0000:0000~1080::8:800:FFFF:FFFF范围内的IP地址

"v=spf1 a -all"

表示当前域所有a记录指向的ip均可以发件。

"v=spf1 a:example.com -all"

等价于当前域为example.com。

"v=spf1 a:mailers.example.com -all"

表示指定mailers.example.com的主机IP可以外发邮件。

"v=spf1 a/24 a:offsite.example.com/24 -all"

如果example.com解析到192.0.2.1,那么整个C类地址192.0.2.0/24将作为客户端IP地址外发邮件。同样,如果offsite.example.com返回多个A记录,每个IP地址将被扩展到CIDR子网。

"v=spf1 mx mx:deferrals.domain.com -all"

表示允许当前域通过其MX服务器发送邮件,并通过deferrals.domain.com的MX服务器重试延迟的邮件。

"v=spf1 mx/24 mx:offsite.domain.com/24 -all"

也许一个域的MX服务器使用一个IP地址接收邮件,使用另一个相邻IP地址发送邮件。

"v=spf1 include:example.com -all"

若example.com没有SPF记录,则拒绝任何发件

若example.com的SPF记录为“v=spf1 a -all”,查询example.com的A记录,匹配则允许发件

推荐您阅读更多有关于“ 邮件服务器  spf记录  txt记录   ”的文章

以上内容如果对你有用,请收藏。
上一篇:三款免费开源的邮箱服务器软件下一篇:邮件服务器常用端口

猜你喜欢

评论列表:

官方LOGO


    我们的使命是减少资金、技术和
    教育方面的障碍,以提供有效的
    IT科技支援。。。。。。。。。



    扫码从手机访问


网站分类
友情链接