使用 SPF 對電子郵件寄件者進行授權

協助防範假冒來自您網域的郵件

寄件者政策架構 (SPF) 可防止垃圾郵件發布者從您的網域傳送未經授權的電子郵件,這類垃圾郵件採用的手法稱為「假冒」。SPF 是一套電子郵件安全防護機制,可防範假冒來自您網域的郵件。「假冒」是指在未經授權的情況下使用電子郵件,這種情形十分常見,因此部分電子郵件伺服器會要求設定 SPF。如果您不為自己的網域設定 SPF,從您網域寄出的郵件就可能遭到退信,甚至遭標示為垃圾郵件。

將 SPF 與 DKIM 和 DMARC 搭配使用

建議您在設定 SPF 時,一併設定 DomainKeys Identified Mail (DKIM)網域型郵件驗證、報告與一致性 (DMARC)

  • SPF 可指定哪些網域可以傳送郵件。
  • DKIM 可驗證郵件內容的真實性以及是否經他人變更。
  • DMARC 可指定網域處理可疑電子郵件的方式。

為您的網域啟用 SPF

如要為您的網域啟用 SPF,請透過您的網域代管商新增一筆 SPF TXT 記錄。別擔心,這不會影響您的郵件收發作業。

關於 TXT 記錄

您的網域代管商負責維護文字形式的 DNS 設定記錄,可以將網路流量導向您的網域。歡迎進一步瞭解如何使用 TXT 記錄。如果您仍然需要和 TXT 記錄相關的協助,請與您的網域代管商聯絡。

SPF TXT 記錄中列有允許從您網域傳送電子郵件的郵件伺服器。如果郵件的來源伺服器不在該記錄中,就可能遭標示為垃圾郵件。

SPF 和多個郵件伺服器

我們不建議為多個郵件伺服器分別建立多筆 SPF 記錄,因為使用多筆 SPF 記錄可能會造成授權問題。建議您為所有郵件伺服器使用同一筆 SPF 記錄。

進一步瞭解如何將 SPF 記錄套用至多個伺服器

新增 SPF TXT 記錄

如要啟用 SPF,請更新您網域的 SPF TXT 記錄:

  1. 前往網域代管商網站 (而不是 Google 管理控制台) 登入您的網域帳戶。

    協助我辨識網域代管商

  2. 找出更新網域 DNS 記錄的網頁。這個網頁的名稱可能叫做「DNS Management」(DNS 管理)、「Name Server Management」(名稱伺服器管理) 或「Advanced Settings」(進階設定)。
  3. 找到您的 TXT 記錄,並檢查您的網域是否已經有開頭是 v=spf1 的 SPF 記錄。
  4. 如果您的網域已有 SPF 記錄,請將這筆記錄移除。如果沒有,請跳至步驟 5。
  5. 使用下列值建立新的 TXT 記錄:
    • 在 [Name/Host/Alias] (名稱/主機/別名) 欄位中輸入 @ 或將欄位留空。您網域的其他 DNS 記錄可能會顯示正確的項目。
    • 在 [Time to Live (TTL)] (存留時間 (TTL)) 欄位中輸入 3600 或保留欄位的預設值。
    • 在 [Value/Answer/Destination] (值/回應/目的地) 欄位中輸入 v=spf1 include:_spf.google.com ~all

  6. 儲存記錄。

新的 SPF 記錄可能需要 48 小時才會生效,但通常不會這麼久。

驗證 SPF 記錄

您可以使用 G Suite 工具箱中的 Check MX 應用程式驗證 SPF 記錄:

  1. 前往 https://toolbox.googleapps.com/apps/checkmx/
  2. 輸入您的網域名稱。
  3. 按一下 [執行檢查!]
  4. 檢查完成後,按一下 [有效的 SPF 位址範圍]
  5. 檢查 SPF 結果。結果應包含:
    • _spf.google.com
    • _netblocks.google.com 以及後面多個 IP 位址
    • _netblocks2.google.com 以及後面多個 IP 位址
    • _netblocks3.google.com 以及後面多個 IP 位址

將 SPF 記錄套用至多個伺服器

一個網域只能設定一筆 SPF 記錄,因此請不要為每個郵件伺服器分別建立 SPF 記錄。您只需更新一筆 SPF 記錄,並將所有郵件伺服器納入其中即可。

舉例來說,如果設定外寄電子郵件閘道,您的 SPF 記錄會包含 Gmail 伺服器位址和外寄閘道 SMTP 伺服器位址。

如要在現有的 SPF 記錄中新增郵件伺服器,請在 ~all 引數的前面輸入伺服器的 IP 位址,格式為 ip4:<位址>ip6:<位址>,如以下範例:

v=spf1 ip4:172.16.254.1 include:_spf.google.com ~all

如要新增郵件伺服器的網域,請為個別網域加入 include 陳述式,例如:

v=spf1 include:serverdomain.com include:_spf.google.com ~all

DNS 查詢上限和 SPF 檢查

SPF 最多支援 10 筆 DNS 查詢,且巢狀查詢也會計入查詢筆數上限。如果 SPF 記錄中包含超過 10 筆查詢,系統會將超過的部分視為無效,且將 SPF 檢查視為不通過。

進一步瞭解 RFC 7208 中的 DNS 查詢限制

以下的 SPF 記錄機制和修飾符會計入查詢筆數上限:

  • a
  • exists
  • include
  • mx
  • ptr
  • require

以下的機制和修飾符「不會」計入查詢筆數上限:

  • exp
  • ip4
  • ip6

您可以透過以下方式減少 SPF 記錄中的查詢筆數:

  • 避免使用不必要的 include 陳述式。
  • 儘可能使用 ip4ip6 機制取代 include
  • 避免使用 ptr 機制,因為這會產生多筆 DNS 查詢。
  • 移除重複的機制或解析為相同網域的機制。
  • 只參照會主動傳送郵件的網域。
  • 找出不再從您的網域傳送郵件的合作夥伴,並從 SPF 記錄中移除所有對應的 include 陳述式。

您可以使用 G Suite 工具箱中的 Check MX 應用程式查看 SPF 記錄的查詢筆數。

相關文章

如要瞭解 SPF 記錄應包含哪些內容,請參閱外寄 SMTP 的 Google 伺服器 IP 位址範圍一文。

這對您有幫助嗎?
我們應如何改進呢?