Skip to main content
  • 邮件身份认证
  • SPF

SPF(发件人策略框架)

SPF(Sender Policy Framework,发件人策略框架),是一项邮件身份认证标准,用于检测伪造的发件人地址,保护发件人与收件人免受垃圾邮件、域名伪造以及钓鱼攻击的侵害。

垃圾邮件发送者和黑客可能冒充你的域名发送邮件。这类行为会损害你的邮件安全以及域名信誉:当收件人收到欺诈邮件并将其标记为垃圾邮件时,即便并非由你造成,你的域名也有可能被标记为不良发件源。该风险在2017年就已存在,时至今日依旧不容忽视。

通过配置 SPF,你可以在 DNS 中公开一份授权清单,写明允许代表本域名发送邮件的邮件服务器与IP地址。当外部发出邮件时,收件服务器读取 SPF 记录,校验该邮件是否来自授权服务器。SPF 向邮箱服务商传递信任信号,有助于提升邮件送达率。

冷知识:在2000年左右,SPF 最初全称是 Sender Permitted From,2004年正式更名为 Sender Policy Framework。注意该缩写同时也是防晒系数的缩写,二者完全无关 ☀️

#SPF 核心要点

  • SPF 与退回路径(Return‑Path)地址
  • 什么是 SPF 记录
  • SPF 身份认证的工作原理

#SPF 与退回路径地址

假设你的域名为 ilovepizza.com,向客户发送邮件。每一封发出的邮件实际上包含两组地址:

  • 头部发件地址(Header‑From):收件人在邮件「发件人」字段直接看到的地址,例如 customers@ilovepizza.com。
  • 信封发件地址(Envelope‑From),也叫退回路径(Return‑Path):用于接收退信与各类邮件反馈的地址。 如果你使用 MailPick 发送邮件,可以自定义信封发件域名,使其与头部发件域名保持一致。普通收件人看不到信封发件地址,只有查看邮件原始头部时才可以看到。

区分二者非常关键:SPF 用于校验被伪造的信封域名。邮件服务器依靠信封/退回路径域名处理退信和反馈,该域名会积累对应的信誉,因此伪造者会试图冒用它来增加邮件可信度。SPF 的作用就是保证只有授权IP才可以使用该域名发送邮件。

#什么是 SPF 记录

SPF 记录是添加在域名 DNS 中的一条 TXT 记录,里面列举了被授权、可以代表你的域名发送邮件的IP地址以及第三方邮件发送服务商。

根据域名托管服务商的不同,添加 SPF 记录一般只需要进入DNS设置,粘贴一段文本字符串即可。

#SPF 记录示例构建

继续沿用上面域名 ilovepizza.com 的例子:使用 MailPick 发送事务邮件,同时使用第三方营销工具发送推广邮件。 你需要到域名托管平台更新DNS,添加类似下面的SPF记录:

code
v=spf1 ip4:192.168.0.1 include:spf.mtasv.net include:emsd1.com ~all

语法字段释义:

  • v=spf1:声明本条是 SPF 版本1记录
  • ipX::填写被允许发送邮件的单个IP或者IP网段
  • include::填写获得授权的第三方发件服务商域名
  • ~all:规定其余所有来源均为非授权来源

配置完成后可以查看邮件原始头部(Gmail点击「显示原始邮件」),确认SPF校验结果为通过(PASS)。

#SPF 身份认证的工作原理

简化流程:域名所有者在SPF记录登记授权IP与发信源;当邮件的退回路径使用该域名时,接收服务器查询该域名SPF记录,核对发送IP是否在授权列表内。

完整执行流程涉及较多步骤,本文不做全部展开;如果你需要深入了解,可以查阅 SPF 深度原理指南。

#常见问答

#SPF、DKIM、DMARC 三者有什么区别?

SPF、DKIM、DMARC 是三套邮件身份认证体系,防范冒充他人域名发送垃圾邮件、诈骗邮件、仿冒邮件的行为。

  • SPF(发件人策略框架):基于域名的机制,定义哪些 IP 地址允许代表该域名发送邮件。
  • DKIM(域名密钥识别邮件):针对单封邮件做签名,使用非对称加密,证明邮件传输过程没有被篡改。
  • DMARC(基于域名的消息身份验证、报告与合规):构建在 SPF 和 DKIM 之上,告诉接收服务器对邮件采取放行、隔离、拒绝等处置策略。