多個 SPF 記錄:如何合併它們(簡單的方法)
已發表: 2021-02-17您是否需要修復域中的多個 SPF 記錄?
SPF 記錄是以v=spf1開頭的TXT類型記錄。 多個 SPF 記錄會導致您的電子郵件被拒絕或作為垃圾郵件歸檔。
在本文中,我們將解釋:
- 您可以擁有超過 1 條 SPF 記錄嗎?
- 如何檢查您的 SPF 記錄
- Cloudflare
- 藍主機
- 如何合併多個 SPF 記錄
- 如何測試您的 SPF 記錄
立即修復您的 WordPress 電子郵件
您可以擁有超過 1 條 SPF 記錄嗎?
不,您不能擁有超過 1 條 SPF 記錄。 如果您確實有兩個單獨的 SPF TXT 記錄條目,您的電子郵件將無法通過 SPF 身份驗證並返回 PermError。

如果您有多個 SPF 記錄,簡單的解決方法是將這些條目合併到一個記錄中。
根據 Alexa 的說法,每 6 個具有 SPF 記錄的域中就有一個使用了錯誤的格式。 因此,絕對值得檢查以確保您沒有任何額外或不需要的 SPF 記錄。
如何修復多個 SPF 記錄
如果您有多個 SPF 記錄,好消息是:這是一個很容易解決的問題,只需幾分鐘即可合併您的 SPF 記錄。
首先,我們將使用免費的在線工具檢查您的 DNS 記錄。
SPF 記錄有什麼作用?
SPF 會驗證您發出的電子郵件,以防止域欺騙。 域欺騙是指垃圾郵件發送者在發送網絡釣魚或惡意軟件電子郵件時冒充您。
當接收服務器收到您的電子郵件時,它會根據 SPF 記錄檢查發件人域。 如果 SPF 檢查失敗,接收服務器可以將其標記為垃圾郵件或拒絕它。
檢查多個 SPF 記錄
有時很難發現多個 SPF 記錄。 事實上,您甚至可能不知道需要合併 SPF 記錄,因為您的接收電子郵件主機可能會自動忽略它們。 但是擁有多個仍然不是一個好主意。
我們可以使用 MXToolbox 掃描您的 DNS 記錄以查找超過 1 條 SPF 記錄。 為此,請在字段中輸入您的域名,然後單擊SPF 記錄查找按鈕。

如果您設置了超過 1 條 SPF 規則,您將看到消息找到多個記錄。 SPF 記錄顯示在頂部的紅色條中。

我們有 2 行以v=spf1開頭,因此這可能會導致電子郵件傳遞出現問題,因為接收電子郵件服務器可能會忽略這兩條記錄。
為了解決您的 SPF 記錄問題,我們將編輯您域的 DNS 記錄並結合這兩個規則,從而消除多個 txt 記錄。
DNS 記錄通常由以下人員持有:
- 您的域名註冊商
- 您正在使用的網絡託管公司,如果您購買了您的託管和域作為一個包
- CDN 提供商,如果您選擇使用其中之一。
在為交易電子郵件提供商創建 DMARC、SPF 和 DKIM 記錄時,您可能已經編輯了 DNS。 我們將回顧該過程,以便您現在可以合併您的 SPF 記錄。
在 Cloudflare 中編輯 SPF
我們將首先向您展示如何使用 Cloudflare 修復多個 SPF 記錄。
首先,登錄並選擇要編輯的域。

您將看到列出的整個 DNS。 查找 TXT 記錄以查找重複項。

如果您的 DNS 看起來不是這樣,讓我們嘗試另一種查找正確記錄的方法。
在 Bluehost 中編輯 SPF 記錄
如果您的域由 Bluehost 託管,請登錄到您的控制面板開始。
從左側菜單中,單擊Domains 。

從列表中,單擊您需要編輯的域旁邊的管理下拉菜單。

從彈出的菜單中,單擊DNS 。

現在向下滾動,直到找到您的 TXT 記錄。 您將在本節中看到 SPF 記錄。

同樣,您的 DNS 可能看起來不同,但這應該可以讓您找到正確的位置。
如何包含多個 SPF 記錄
現在我們將使用正確的語法來合併多個 SPF 記錄。 這將允許您在 1 行中使用多個 IP 或域。
我們將在此示例中使用 Cloudflare,但大多數主機和註冊商的步驟相似。
查看 DNS 區域並找到第一個 SPF 規則。

將現有規則復製到剪貼板。 您可能希望將其粘貼到文本文檔中,以便稍後再次抓取它。
現在從您的 DNS 中刪除該記錄。

在 Bluehost 中,您可以使用右側帶有 3 個點的圖標刪除記錄。


對於這些步驟的其餘部分,我們將切換回 Cloudflare。
現在單擊剩餘 SPF 記錄旁邊的編輯。

SPF 記錄包含 3 個部分:聲明、允許的 IP 或域以及執行規則。 所以我們將像這樣組合記錄:
- 聲明:以
v=spf1開始記錄(不要在規則中再次使用它 - 它只能出現在開頭) - 允許的域:為每個域添加一個
include - 執行規則:以一個
~all語句結束記錄(同樣,只在最後使用這個)
一旦我們組合了 SPF 規則,我們的組合記錄如下所示:
v=spf1 include:zoho.eu include:mailgun.org ~all
繼續編輯您的 SPF 規則,使其結合兩個域。

只要您只有 1 個聲明和 1 個強制執行規則,您就可以根據需要包含更多域,只要它們位於單個字符串中即可。
請記住,SPF 記錄存在限制:
- 該語句最多可以有 10 個域查找(例如
include) - 該語句的長度必須少於 255 個字符。
在繼續之前不要忘記保存。
測試合併的 SPF 記錄
儘管 Cloudflare 更改通常會在幾分鐘內生效,但 DNS 更改可能需要長達 48 小時才能傳播。
等待一段時間後,在 MXToolbox 中再次檢查您的域名。
您現在應該會看到與此類似的通過消息。

就是這樣! 您成功解決了域中多個 SPF 記錄的問題。
立即修復您的 WordPress 電子郵件
有關 SPF 記錄的常見問題
讓我們以更多關於 SPF 記錄的背景信息結束。
SPF 是什麼意思?
SPF 代表發件人策略框架。 完整的規範在名為 RFC4408 的技術文檔中定義。
WP Mail SMTP 中的每個郵件程序都需要 SPF 嗎?
許多郵件都需要 SPF,包括:
- SMTP.com
- 森丁藍
- 郵筒
- 發送網格
- G-套房
- Outlook,如果與您自己的自定義域一起使用
- Zoho Mail,如果與您自己的自定義域一起使用
在 WP Mail SMTP 中,以下情況不需要SPF:
- 以
gmail.com或googlemail.com結尾的 Gmail 地址(換句話說,不受 G-Suite 訂閱或自定義域控制的 Google 電子郵件地址) - 以
outlook.com結尾的 Hotmail 或 Microsoft 電子郵件地址 - 以
zohomail.com結尾的 Zoho Mail 地址。 - 郵戳中設置的任何發件人。
如果您沒有在需要時添加 SPF,WP Mail SMTP 可能會向您顯示警告:
Action Needed: It doesn't look like the SPF record required by Google has been added to your domain. Please check out Google's SPF guide for details on how to add this record to your domain's DNS.
如果我沒有 SPF 記錄會怎樣?
一些電子郵件提供商不需要 SPF 記錄,因此這可能不是問題。 例如,Postmark 只需要您設置 DKIM。
如果您這樣做了,但您還沒有設置,郵件服務器將查找 DMARC 記錄以確定如何處理電子郵件。 這可能會導致您的電子郵件被歸檔到垃圾郵件文件夾中。
我是如何獲得多個 SPF 記錄的?
多個 SPF 記錄通常是偶然添加的。 例如,您可能有超過 1 個,因為:
- 您切換了郵件服務:如果您更換您的電子郵件服務提供商(例如,您從 SMTP.com 遷移到 Sendinblue),您可能忘記在添加新記錄之前刪除第一個 SPF 記錄。
- 您為不同類型的電子郵件使用不同的服務:例如,您可能需要使用 Sendinblue 使用 WP Mail SMTP 發送 WordPress 電子郵件,並使用 SMTP.com 等其他提供商來處理您的電子郵件營銷列表的電子郵件。
如果我有多個 SPF 記錄,我在 WP Mail SMTP 中的測試電子郵件是否仍然有效?
有時即使您有多個 SPF 記錄(或根本沒有),您仍會在 WP Mail SMTP 中收到測試電子郵件。 這可能是因為:
- 接收服務器在後台自動處理多個 SPF 記錄,因此您不會注意到問題
- 您的郵件服務不需要 SPF 記錄,因此它已經忽略了它們。
SPF 是否適用於我的子域?
不。與 DMARC 不同,SPF 不適用於子域。 您需要在主機上為子域創建單獨的 SPF 記錄。
“過多的 DNS 查找”是什麼意思?
SPF 通過檢查規則中的每個域來工作。 這稱為 DNS 查找。 因此,如果您的 SPF 記錄中包含的域太多,那麼如果您的域超過 10 個,它將失敗。
您可能會看到錯誤Too many lookups或Maximum hop count exceeded 。
如果您需要向 SPF 規則添加超過 10 次查找,您可以添加一個子域並為該子域創建一個新的 SPF 規則以繞過此限制。
此外,請諮詢您的提供商。 如果您使用他們的一項以上的服務,他們可能會提供不同的 SPF 規則。
-all vs ~all 是什麼意思?
在 SPF 記錄中, - all表示任何與域不匹配的電子郵件都將無法傳遞。 ~ all強制執行規則稍微不那麼嚴格,並將尋求進一步的驗證。
一些電子郵件提供商會推薦使用? all ? all (給出中性結果)。
如果您需要將語句與不同的執行規則結合起來,您可以使用~ all ,除非您的電子郵件提供商推薦不同的方法。
請勿使用+ all非常重要,因為這將允許 Internet 上的任何人使用您的域發送垃圾郵件。
我需要 PTR 記錄嗎?
是的,您還需要 PTR 記錄,但您可能不需要自己創建它。 要了解更多信息,請查看本指南:什麼是 DNS PTR 記錄?
SPF PermError 是什麼意思?
當電子郵件服務提供商無法驗證您域的 SPF 記錄時,會發生 PermError。 如果您在 SPF 記錄條目中使用了不正確的語法,或者您有多個 SPF 記錄,則可能會發生這種情況。 要修復 PermError,請檢查您的語法,如果您有多個 SPF 記錄,請確保合併您的 SPF 記錄。
立即修復您的 WordPress 電子郵件
下一步:檢查您的 DMARC 記錄
SPF 是 3 種電子郵件身份驗證方法之一,可幫助提高可傳遞性並阻止垃圾郵件。 大多數電子郵件服務提供商將 SPF 與 DKIM 和 DMARC 一起使用。
現在您已經設置了 SPF 記錄,請查看我們關於如何創建 DMARC 記錄的簡單指南。 它包含一個 DMARC 示例,您可以快速復制和粘貼該示例。
準備好修復您的電子郵件了嗎? 立即開始使用最好的 WordPress SMTP 插件。 WP Mail SMTP Elite 包括完整的白手套設置並提供 14 天退款保證。
如果本文對您有所幫助,請在 Facebook 和 Twitter 上關注我們以獲取更多 WordPress 提示和教程。
