什么是 SPF(发件人策略框架)?

SPF 是 Sender Policy Framework(发件人策略框架)的缩写,是一种邮件身份认证标准,允许域名所有者公布获准代表该域名发信的邮件服务器列表。接收服务器会核对这份列表,确认收到的邮件来自授权来源,从而大大增加伪造该域名邮件的难度。

定义

发件人策略框架与 DKIM、DMARC 并列为三大核心邮件认证标准。它解决的是电子邮件的一个基本缺陷:默认情况下,任何人都可以发送声称来自任何域名的邮件,因为最初的邮件协议从未内置证明真实发件人身份的机制。SPF 让域名所有者能以公开、机器可读的方式声明哪些服务器获准代表该域名发信,从而弥补了部分缺口。

这份声明存放在域名系统(DNS)中,也就是把域名转换为网络地址的全球目录。域名所有者发布一条特殊的 DNS 记录,列出授权发件方。邮件到达时,接收邮件服务器会查询这条记录,并与实际投递邮件的服务器进行比对。如果发信服务器在列表中,邮件就通过 SPF;如果不在,邮件就未通过 SPF,这强烈暗示邮件可能是伪造的。SPF 不加密任何内容,也不检查邮件正文。它只回答一个问题:这封邮件是否从域名所有者批准的服务器发出?

工作原理

SPF 策略以一条 DNS TXT 记录的形式发布在域名上。记录始终以版本标签 v=spf1 开头,后面是一系列描述授权发件方的机制,通常以 all 机制结尾,用于定义默认结果。一条简单的记录可能是 v=spf1 include:_spf.google.com -all,表示授权 Google Workspace 邮件服务器,拒绝其他所有服务器。

机制是 SPF 记录的基本组成部分。ip4 和 ip6 机制直接授权特定地址或地址段。a 机制授权域名地址记录中的服务器,mx 机制授权列为该域名邮件交换服务器的服务器。include 机制在实践中最常用,它会引入另一家服务商的 SPF 策略,域名正是借此把发信委托给 Google、Microsoft 或邮件营销平台等服务。每个机制都可以带一个限定符,用于设定匹配时的结果。加号是默认值,表示通过(pass);减号表示失败(fail);波浪号表示软失败(softfail),即温和的警告;问号表示中性(neutral)。末尾的 all 机制会匹配所有未命中前面规则的服务器,因此 -all 表示严格拒绝所有未列出的服务器,而 ~all 是较温和的信号。

接收服务器评估 SPF 时,会检查信封发件人地址(envelope-from),即 SMTP 交互中声明的 return-path;对于 return-path 为空的退信邮件,则改为检查 HELO 身份。该标准有一条重要限制:评估一条记录最多只能进行十次 DNS 查询,include、a、mx 和 exists 等机制各消耗一次。如果一条记录需要超过十次查询,就会产生 PermError,接收方可能将其视为失败,所以 SPF 记录必须保持精简。SPF 还有结构性局限:邮件被转发时它会失效,因为转发服务器不在原域名的列表中;更关键的是,它只验证信封发件人地址,而不是收件人实际看到的“发件人”(From)地址。

为什么它对邮件送达率很重要

SPF 如今是基本要求,而非可有可无的附加项。邮箱服务商把通过 SPF 检查视为正面的信任信号,把缺失或失败的记录视为可疑的理由,这直接影响邮件是进入收件箱还是垃圾箱。自 Google 和 Yahoo 在 2024 年推出发件人要求以来,批量发件人都需要通过 SPF 认证,没有有效 SPF 记录的域名,其邮件可能被限流或直接拒收。

SPF 之所以重要,还因为它是 DMARC 的前提。DMARC 是将身份认证与可见“发件人”地址关联起来的策略层,它会检查 SPF 或 DKIM 是否通过,以及结果是否与 From 域名对齐。没有正确配置的 SPF 记录,域名就无法通过 SPF 实现 DMARC 对齐,整体防护也会因此减弱。同时也要清楚 SPF 做不到什么:由于它忽略可见的 From 头部,且在转发时失效,单靠 SPF 无法阻止蓄意的伪造者。它是三层防御中必不可少的一层,只有与 DKIM 和 DMARC 配合使用,才能发挥全部价值。

VeriMails 如何应对

SPF 和邮箱验证解决的是同一个送达问题的两个方面。SPF 认证您发出的邮件,让接收服务器相信邮件确实来自您;邮箱验证清洗您的收件人列表,确保只向真实、可送达的地址发信。良好的收件箱投递需要两者协同,任何一方都无法替代另一方。

VeriMails 专注于收件人这一侧。您提交的每个地址都会经过语法校验、MX 和 DNS 查询、实时 SMTP 握手、Catch-all(全收)检测、一次性邮箱检测和角色邮箱检测,在无效地址造成退信之前就将其移除,以免拖累 SPF、DKIM 和 DMARC 记录本应保护的信誉。在认证这一侧,VeriMails 也提供免费的 SPF 生成器,为您的域名和发信服务生成语法正确的记录,并控制在十次查询的限制内。可以通过 REST API 或批量上传 CSV 验证列表,并获得清晰的送达分类,便于做出发信决策。验证起价每封 $0.0019,10,000 积分售价 $19,按年付费的年度套餐低至 $12.50/月;每个账户注册即送 100 免费积分,无需信用卡,永不过期。

常见问题

SPF 记录是一条 DNS TXT 记录,以 v=spf1 开头,列出描述授权发件方的机制(如 ip4、a、mx 和 include),通常以 all 机制结尾。一条典型的记录可能是 v=spf1 include:_spf.google.com -all,表示授权 Google 的服务器,拒绝其他所有服务器。
SPF 标准规定,评估一条记录时最多只能进行十次 DNS 查询。include、a、mx 和 exists 等机制都会消耗查询次数。超过十次会导致 PermError,可能让接收服务器将 SPF 视为失败,所以记录必须保持精简。
不够。SPF 只检查 SMTP 交互中使用的信封发件人地址,而不是收件人看到的“发件人”地址,并且在邮件转发时会失效。SPF 应与 DKIM 和 DMARC 结合使用,三者共同弥补这些缺口,保护可见的发件人身份。
SPF 认证您发出的邮件,让接收方信任它;邮箱验证清洗您的收件人列表,让您只向真实地址发信。两者解决的是不同的问题,良好的送达率需要两者兼备。VeriMails 还提供免费的 SPF 生成器,帮助您生成正确的记录。

免费试用 VeriMails

注册即送 100 免费积分,无需信用卡。今天就把邮箱验证付诸实践。

免费开始
无需信用卡。积分永不过期。