Defaults.Exposed

Defaults.Exposed › 報告

什麼是 SPF 的 ptr 機制——為什麼至今仍有 950,631 條記錄在用它?(2026)

發布於 2026-07-03

數據截至 2026-06-29 · 方法論 v7。 對 261 百萬個已評級域名的彙總普查。所有數據均為彙總統計——絕不涉及任何單個企業的記錄。參見我們如何評級

ptr 是一種 SPF 機制,它通過反向 DNS 查詢來授權發件方——而 SPF 標準本身自 2014 年起就明確表示「不要使用它」。12 年後,仍有 950,631 個域名在發佈它。 這意味著,在互聯網上 139 百萬條 SPF 記錄中,大約每 146 條就有 1 條攜帶著一個在其中某些域名註冊之前就已被規範棄用的機制。

ptr 本應做什麼

ptr 的含義是:「接受來自任何反向 DNS 能解析回我域名的服務器的郵件。」這聽起來很優雅——無需維護 IP 列表。但實際上,它要求接收方對連接的 IP 做一次反向查詢,然後對返回的每一個主機名做正向確認。RFC 7208(§5.5)用直白的措辭將其棄用:該機制*「速度慢,在出現 DNS 錯誤時不如其他機制可靠,並且對 .arpa 域名服務器造成巨大的資源負擔」*——並明確指出它**「不應被使用(SHOULD NOT be used)」**。

為什麼它在 2026 年仍是一個陷阱

一個 12 年前就被棄用的機制,至今仍值得關注,有三個原因:

它從何而來

如今幾乎沒有人會主動選擇 ptr。它是通過繼承而來的:一份寫於 2009 年的配置指南,一個從舊服務器配置裡複製來的模板,一條歷經三次託管遷移而原封不動的「能用」的記錄。這正是我們的普查在每一個已棄用卻仍存在的機制中所看到的模式:舊建議不會消亡,它只是被不斷複製粘貼。 攜帶 ptr 的域名並非粗心大意——他們只是在遵循 12 年前就已退役的指示。

如何修復它——免費,五分鐘

  1. 找到你的 SPF 記錄(dig TXT yourdomain.com,或免費檢測)。
  2. 如果其中包含 ptr,弄清楚哪些服務器曾依賴它。
  3. 用精確的形式替換 ptr:對你自己控制的服務器使用 ip4:/ip6: 塊,或使用你的服務商所記載的 include:
  4. 既然你已經在改,順便確認記錄以一個真正的限定符結尾——參見 ~all-all

常見問題

SPF 記錄中的 ptr 是什麼意思? 它會授權任何反向 DNS 能解析進你域名的服務器。RFC 7208 §5.5 在 2014 年以「慢且不可靠」為由將其棄用,並指出它不應被使用——然而截至 2026-06-29,仍有 950,631 個域名在發佈它。

SPF 的 ptr 機制有任何時候是有效的嗎? 它仍然能被解析,一些接收方也仍會評估它——但標準在所有情況下都建議不要使用它,一些接收方會忽略它,而且它會消耗你十次 DNS 查詢中的一次。沒有任何現代配置會讓 ptr 成為正確答案。

我應該用什麼來代替 ptr? 對你自己控制的服務器使用 ip4:/ip6: 塊,或使用你服務商所記載的 include:。兩者都是確定性的、快速的、可靠的——恰恰是 ptr 所不具備的一切。

ptr 會計入 SPF 的 10 次查詢上限嗎? 會——每個 ptr 至少會消耗接收方在放棄並返回 PermError 之前所執行的十次 DNS 查詢中的一次。在一條已經堆滿 include: 機制的記錄上,這個失效的機制很可能就是把你推過上限的那一個。

檢查你的記錄裡有沒有「幽靈」

一個 12 年前就被棄用、卻仍安坐在你 DNS 裡的機制,正是那種沒人會去主動排查的東西。而排查它只需半分鐘。

檢測你的域名 → · 修復 SPF → · 兩條 SPF 記錄 = 零條 → · SPF 成熟度模型 → · 僅為彙總數據。數據在歐盟境內存儲和處理。