DNS 区域文件 SPF 配置以支持从多个服务器和 Gmail 发送邮件

DNS 区域文件 SPF 配置以支持从多个服务器和 Gmail 发送邮件

我想要在域上配置 SPF 以允许从以下位置发送邮件:

  • x.com 网站服务器(x.com 和 www.x.com - 均在同一 IP)
  • 其 MX 服务器(smtp.x.com、mx.x.com、mail.x.com)
  • 未列为 MX 服务器的另一台服务器 (somehost.x.com)
  • 通过 Gmail 使用已验证的帐户[电子邮件保护]

这个区域文件能用吗?如果不行,它有什么问题?

$ttl 38400
@           IN      SOA     ns1.x.com. hostmaster.x.com.  (
                                      201003092 ; serial
                                      8H    ; refresh
                                      15M   ; retry
                                      1W    ; expire
                                      1H )  ; minimum
@           NS  ns1.x.com.
@           NS  ns2.x.com.

@           MX  10 mx.x.com.
@           MX  20 smtp.x.com.
@           MX  30 mailhost.x.com.

; SPF records
@          IN      TXT "v=spf1 a mx a:somehost.x.com include:_spf.google.com ~all"
mx         IN      TXT "v=spf1 a -all"
smtp       IN      TXT "v=spf1 a -all"
mailhost   IN      TXT "v=spf1 a -all"

问题:

  1. _spf.google.com 是否适合包含在 gmail.com 中,还是仅适用于 Google Hosted Apps?如果仅适用于 Google Apps,我应该包含哪些内容才能从 gmail.com 发送?
  2. 如果邮件不应该从其他任何地方发送,那么使用 -all 而不是 ~all 是否安全?
  3. 为每个邮件服务器添加特定的 SPF 记录是否有意义?
  4. 区域文件还有其他问题吗?

我想在更改区域文件之前确认这些内容。该文件的 SPF 配置现在基本相同,只是没有 google.com 和 somehost,但我想确保更改时不会破坏任何东西。

答案1

查看 openspf.org 上的向导以帮助您编写正确的 SPF 设置:http://old.openspf.org/wizard.html?mydomain=x.com

除此之外,对于此用途来说,您的 SPF 设置对我来说看起来不错。

您为每个 MX 主机添加 SPF 记录的做法是正确的。这些记录用于当电子邮件因地址为空而被退回(在 SMTP 协议中)时,SPF 将转而使用发送服务器的地址。

如果您确定没有其他服务器可以为您的域发送邮件,那么您应该使用-all。当然,这意味着如果发现有其他服务器发送的电子邮件,则可能会被拒绝!

相关内容