Domain-Name-System

DNS 區域文件 SPF 配置以支持從多個伺服器和 gmail 發送郵件

  • March 14, 2010

我想在域上配置 SPF 以允許從以下位置發送郵件:

  • x.com 網站伺服器(x.com 和 www.x.com - 都在同一 IP)
  • 其 MX 伺服器(smtp.x.com、mx.x.com、mail.x.com)
  • 未列為 MX 伺服器的另一台伺服器 (somehost.x.com)
  • 通過 gmail 使用已驗證使用 something@x.com 的帳戶

這個區域文件會起作用嗎?如果不是,它有什麼問題?

$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,但我想確保在更改它時不會破壞它。

查看 openspf.org 上的嚮導以幫助您編寫正確的 SPF 設置:http ://old.openspf.org/wizard.html?mydomain=x.com

除此之外,您的 SPF 設置對我來說看起來不錯。

您也為每個 MX 主機包含 SPF 記錄是正確的。這些用於以空地址(在 SMTP 協議中)退回電子郵件的情況,然後 SPF 回退到使用發送伺服器的地址。

如果您確定沒有其他伺服器可以為您的域發送郵件,那麼您應該使用-all. 當然,這意味著從其他伺服器發送的任何電子郵件都可能被拒絕,如果它們被證明是一些!

引用自:https://serverfault.com/questions/122121