Domain-Name-System

存在 Txt 記錄時 SPF Softfail

  • January 23, 2015

我收到了 SPF 和 Sender-ID 的軟故障,我通過向check-auth@verifier.port25.com.

我的設置:

  • 1 個 VPS 託管 1 個網站
  • 僅發送電子郵件的後綴
  • 沒有收到的電子郵件。收件由 Gmail 處理

我在 DNS 中的 Txt 記錄是(只有 1 個 txt 記錄):

"v=spf1 a include:_spf.google.com ~all"

我的 A 記錄是:

域名:example.com.au

VPS機器名稱:主機

@       123.12.12.123     <----- My VPS IP Address
host    123.12.12.123   

直到 2 天前,它還在工作,我還沒有做任何改變。但是現在我收到以下消息的軟故障。

認證報告

   ----------------------------------------------------------
SPF check details:
----------------------------------------------------------
Result:         softfail (SPF-Result: SoftFail)
ID(s) verified: smtp.mailfrom=root@example.com.au
DNS record(s):
   example.com.au. SPF (no records)
   example.com.au. 600 IN TXT "v=spf1 a include:_spf.google.com ~all"
   example.com.au. 600 IN TXT "google-site-verification=TyBn81xyFF2Qt3icqC8tD-EyZxwhKS1ce5AV6StaxHs"
   example.com.au. AAAA (no records)
   _spf.google.com. SPF (no records)
   _spf.google.com. 300 IN TXT "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"
   _netblocks.google.com. SPF (no records)
   _netblocks.google.com. 3600 IN TXT "v=spf1 ip4:64.18.0.0/20 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:173.194.0.0/16 ip4:207.126.144.0/20 ip4:209.85.128.0/17 ip4:216.58.208.0/20 ip4:216.239.32.0/19 ~all"
   _netblocks2.google.com. SPF (no records)
   _netblocks2.google.com. 3600 IN TXT "v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all"
   _netblocks3.google.com. SPF (no records)
   _netblocks3.google.com. 3600 IN TXT "v=spf1 ~all"

這是為什麼?我是否通過添加錯誤的 Txt 記錄a?我還需要像這樣添加aip address的vps:

"v=spf1 a ip4:123,12,12,123 include:_spf.google.com ~all"

如果輸出包含連接地址會很好,但根據提供的報告,您似乎是通過 IPv6 連接的。我這麼說的原因是,在處理aSPF 記錄中的指令時,它查找example.com.au. AAAA而不是example.com.au. A.

如果客戶端通過 IPv6 連接,則查找A記錄不可能返回與連接地址匹配的地址,因此在這種情況下完全跳過該地址並僅查找AAAA是正常行為。

假設上述情況在您的環境中是合理的,您將需要確保您的 IPv6 地址也包含在 SPF 記錄中(通過a或其他指令)。

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