SPF 記錄在電子郵件驗證中的角色
寄件者策略框架(SPF)是電子郵件驗證的重要基石。透過在網域的 DNS 設定中發布 SPF TXT 記錄,網域管理員可以授權特定的郵件伺服器代表該網域發送郵件。當收件郵件伺服器收到郵件時,會評估 SPF 記錄以驗證寄件者 IP 是否符合授權清單,從而防範電子郵件冒名欺詐。
SPF 記錄必須嚴格遵循語法規範。一條標準的記錄必須以 v=spf1 開頭,並由多個機制和修飾符(Modifiers)組成,例如 include、ip4、ip6、all 等。
10 次 DNS 查詢限制與郵件遞送
在 SPF 規格中,最關鍵的限制是 10 次 DNS 查詢上限。為了防止針對 DNS 伺服器的阻斷服務攻擊(DoS),SPF 評估過程中最多只允許 10 次 DNS 查詢。
- 觸發 DNS 查詢的項目:包括
include、a、mx、ptr、exists和redirect。 - 永久錯誤(PermError):如果評估期間超過 10 次 DNS 查詢限制,SPF 接收端必須將其視為永久錯誤。這會直接影響電子郵件的遞送成功率,導致郵件被退回或判為垃圾郵件。
- 巢狀查詢的隱憂:
include或redirect目標會指向其他網域的 SPF 記錄,這些外部記錄會產生額外的遞迴查詢,進而累積計入 10 次的總上限中。
常見的 SPF 語法錯誤與政策風險
在設定 SPF 記錄時,管理員經常遇到以下語法與政策風險,這些問題會削弱 SPF 的保護效能:
+all的濫用:+all代表授權所有寄件者,這通常會令 SPF 失去作用,失去防範冒名的效果。?all的中性政策:?all會傳回中性(Neutral)結果,幾乎無法為接收端郵件伺服器提供明確的政策指引。- 不安全的
ptr機制:不應發布ptr機制,因為其解析速度慢且不可靠。 - 順序與衝突問題:SPF 評估期間無法存取
all之後的項目。此外,如果記錄同時包含all,redirect修飾符將會被忽略。若記錄既沒有all,也沒有redirect,則不相符的寄件者會收到中性結果。
本機檢查與完整 DNS 查詢的分別
本工具提供的是本機語法檢查與首項記錄的查詢次數估算。
| 比較維度 | 本機 SPF 記錄檢查器 | 完整 DNS 查詢評估 |
|---|---|---|
| 運作方式 | 在瀏覽器本機分析輸入的文字 | 實際向 DNS 伺服器發出查詢請求 |
| 巢狀展開 | 不會展開 include 和 redirect 目標 |
會完整追蹤並展開所有巢狀鏈 |
| 隱私保護 | 記錄保留在瀏覽器內,不會上載或儲存 | 查詢請求會暴露於網絡與 DNS 伺服器 |
| 定位功能 | 快速找出拼寫錯誤、格式問題及首層 DNS 查詢數 | 驗證最終收件伺服器實際接收到的評估結果 |
隱私與處理說明
你的 SPF 記錄只會保留在瀏覽器內。BroBroGo 不會上載或儲存記錄。本頁面不會查詢 DNS、展開服務供應商記錄、測試寄件者 IP,亦不會確認收件郵件伺服器將傳回甚麼結果。
常見問題
SPF DNS 查詢次數估算是如何計算的?
估算會計算所貼記錄中的 include、a、mx、ptr、exists 和 redirect 項目。include 和 redirect 指向的記錄可能增加更多查詢,因此本機檢查無法得知最終的遞迴查詢總數。
如果 SPF 需要超過 10 次 DNS 查詢,會發生甚麼事?
SPF 接收端必須將超過 10 個項目的 DNS 查詢上限的評估視為永久錯誤。此上限涵蓋完整的 include 和 redirect 鏈,而不只是第一項記錄。
檢查結果沒有問題,是否能證明我的 SPF 設定有效?
不能。此頁面只檢查你貼上的文字,不會查詢 DNS、展開服務供應商記錄、測試寄件者 IP,也不會確認收件郵件伺服器將傳回甚麼結果。