本页使用了标题或全文手工转换

发件人策略框架

维基百科,自由的百科全书
跳转至: 导航搜索

发件人策略框架英语:Sender Policy Framework;簡稱SPFRFC4408)是一个电子邮件验证系统,目的是解决电子邮件伪造。SPF允许管理员设定一个DNS TXT记录SPF记录设定发送邮件服务器的IP范围。[1]

用途[编辑]

SPF 记录的用途是阻止垃圾邮件发件人发送假冒您的域中的“发件人”地址的电子邮件。收件人可以参考 SPF 记录来确定号称来自您的域的邮件是否来自授权邮件服务器。对于大多主流的邮件服务商,鉴别发送者的SPF记录有助于抵御垃圾邮件给接收者带来的骚扰。[2]

原理[编辑]

邮件接收方的收件服务器在接受到邮件后,首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。[3]

SPF 记录允许邮件系统管理员指定哪些邮件服务器可以使用该域名来发送邮件,接收服务器会在收到邮件时验证发件人在 SMTP 会话中执行 MAIL FROM 命令时的邮件地址是否与域名 SPF 记录中所指定的源 IP 匹配,以判断是否为发件人域名伪造。

Sender-policy-framework-spf-exchange-2.jpg

简单来说,SPF 记录其实就是一条有特殊语法的 TXT 记录,它由「匹配机制」和「修饰符」2 部分组成。「修饰符」通常只作为可选项,一般情况下 Exchange 管理员只会用到并处理包含「匹配机制」的 SPF 记录。[4]

SPF 记录的匹配机制主要用于定义和指定可由该域名发送邮件的主机,其定义方式包括:

  • all 匹配任何主机,它写在 SPF 记录最后以匹配在其前面所列出的主机。
  • ip4 匹配 IPv4 地址或网络范围。
  • ip6 匹配 IPv6 地址或网络范围。
  • a 匹配主机名或域名。
  • mx 匹配域名的 MX 记录,当出站与入站邮件为同一服务器时通常采用此种机制。
  • ptr 通过 DNS 反向记录来匹配发件人 IP 和域名,由于会增加 DNS 负载,一般不采用此种机制。
  • exists 只检查域是否在 DNS 中存在。
  • include 将发件人 IP 和 SPF 记录指向另一个域,这种匹配机制通常用于云服务,如 Exchange Online Protection。

SPF 记录的匹配机制会结合一些限定词来使用,以告诉服务器找到一条匹配记录时该怎么办。常见的限定词有:

  • + 放行,如果没有明确指定限定词,则为默认值。
  • 硬拒绝,直接拒绝来自未经授权主机的邮件。
  • ~ 软拒绝,邮件可被接受,也可被标记为垃圾邮件。
  • ? 中性,不考虑邮件是否被接受。

SPF 记录会结合「匹配机制」和「限定词」使用,例如:在 SPF 记录的末尾处写有 -all 则表明在不匹配前面所列主机时,接收服务器需要将邮件全部拒绝。

外部链接[编辑]

Sender Policy Framework项目网站

来源[编辑]

  1. ^ http://www.ietf.org/rfc/rfc4408.txt
  2. ^ https://support.google.com/a/answer/33786?hl=zh-Hans
  3. ^ http://service.exmail.qq.com/cgi-bin/help?subtype=1&&id=20012&&no=1000580
  4. ^ http://www.sysgeek.cn/sender-policy-framework-spf-exchange/