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记录:
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 之上,告诉接收服务器对邮件采取放行、隔离、拒绝等处置策略。