多个邮件来源的 SPF 记录

多个邮件来源的 SPF 记录

mail.example.com当域名的邮件从两个位置发送时,如何制作 SPF 记录:

  1. 邮件服务器位于公共 IP 地址,198.51.100.111又名 mail.example.com

  2. 位于公共 IP 地址的网络服务器203.0.113.222

答案1

很简单,只需将两个地址添加到记录中即可:

"v=spf1 +ip4:198.51.100.111 +ip4:203.0.113.222 ~all"

...但事情还远不止于此。

  • 您可能没有发送邮件,mail.example.com因为信封发件人,但是example.com,这标志着这项允许两者的政策应该在哪里。
  • HELO 主机名也可以而且应该使用 SPF 保护。
  • 您应该为每个 A 记录发布一个 SPF 记录。否则您的子域名可能会被用作信封发件人。

这些内容在这个答案

因此,如果你有,例如,

example.com.       IN  A    203.0.113.222
www.example.com.   IN  A    203.0.113.222
mail.example.com.  IN  A    198.51.100.111
example.com.       IN  MX   mail.example.com.

您的 SPF 记录可能如下所示:

example.com.       IN  TXT  "v=spf1 +ip4:198.51.100.111 +ip4:203.0.113.222 ~all"
www.example.com.   IN  TXT  "v=spf1 +a ~all"
mail.example.com.  IN  TXT  "v=spf1 +a ~all"

虽然该ip4机制减少了 DNS 查询,但您不需要需要使用它:

example.com.       IN  TXT  "v=spf1 +mx +a ~all"

这里,mx扩展为ip4:198.51.100.111&aip4:203.0.113.222


可以将“软失败”替换~all-all“硬失败”。然而,例如,Freddie Leeman 的2023 年终极 SPF / DKIM / DMARC 最佳实践建议使用软失败,理由很充分:

使用~all(softfail) 而不是-all(fail) 是最佳做法,因为后者可能导致接收服务器在 SMTP 传输时阻止消息,而不是评估可能的 DKIM 签名和 DMARC 策略。

相关内容