MailVSR MailVSR 三分鐘搞定你的企業網站

SPF 管理

SPF 是一種「寄件人網域授權」機制:寄件者網域可以在自己的 DNS 裡宣告「哪些主機有權用我的網域寄信」。GW 的這一頁用來啟用來信 SPF 檢查——收到信時,拿寄件者的網域去 DNS 查它的 SPF 記錄,核對寄信主機的 IP 是否被允許,再依結果決定要不要接收。主要目的是避免別人冒用網域寄信。

什麼時候會用到這一頁:

  • 垃圾信與假冒信很多,想在過濾規則之外再加一層來源驗證
  • 開啟 SPF 檢查後發現某些正常來源被擋,需要加例外
  • 內部有轉寄主機或特殊來源,不能讓它被 SPF 檢查擋下

⚠️ 先釐清一件最常被誤解的事:這一頁不會產生、也不會修改您自己網域的 SPF 記錄。它是「檢查別人寄來的信」;您自己網域要宣告的 SPF 記錄,必須自行到 DNS 伺服器或代管廠商設定(若本機就是 DNS 伺服器,請參考(郵件閘道 / DNS伺服器設定))。

基本設定

  • 來信 SPF 檢查(開關):出廠為關閉。啟用後,GW 會依來信寄件者網域的 SPF 記錄判斷是否接收
  • SPF 例外網域:列出的網域不會受到 SPF 檢查(例:domain.com)。多筆可用逗點、空白、分號或換行分隔
  • SPF 例外 IP:列出的 IP 不會受到 SPF 檢查(例:1.2.3.4 或 1.2.3.0/24)。同樣可用逗點、空白、分號或換行分隔

儲存成功顯示「SPF 設定已儲存」;失敗顯示「設定儲存失敗,請檢查表單」;設定已存但套用失敗會顯示「SPF 設定套用失敗」(請確認服務狀態後重新儲存一次)。

這個檢查怎麼運作

  1. 外部主機連進來,宣告寄件者為 someone@example.com
  2. GW 去查 example.com 的 DNS TXT 記錄,取出它的 SPF 政策
  3. 核對「實際連進來的 IP」是否符合該政策允許的範圍
  4. 依比對結果決定接收或拒絕

因此有兩個實務後果:

  • 寄件者網域沒有設定 SPF 記錄時,無從比對(GW 不會因此就擋掉它)
  • 轉寄信常常過不了 SPF 檢查:信件被中間主機轉寄後,實際連線的 IP 已經不是原寄件網域授權的那一台,這是 SPF 機制的先天限制,不是 GW 的問題。遇到這種情況請把該轉寄主機的 IP 加入「SPF 例外 IP」

實務範例

情境一:開啟 SPF 檢查後,某家客戶的信全部被擋

客戶的網域是 customer-example.com,對方公司內部用一台轉寄主機 relay.customer-example.com(IP 203.0.113.25)把信轉出來。轉寄後實際連線的 IP 已經不是原寄件網域 SPF 授權的主機,因此被 GW 擋下。

處理方式:把該轉寄主機加入例外。若只有一台,填在「SPF 例外 IP」:

203.0.113.25

若是整個網段,可用 CIDR:

203.0.113.0/24

情境二:某個合作廠商的網域 SPF 設定本來就不完整

對方的網域 partner-example.com 沒有發布 SPF 記錄,但信件確實是正常的。這時可把整個網域加入例外:

partner-example.com

⚠️ 加例外網域等於對該網域完全不檢查 SPF,請只對確認可信的對象使用;能用例外 IP 就不要用例外網域。

情境三:確認 SPF 到底有沒有在作用

開啟後可請外部朋友寄一封信測試,再到(系統日誌 / SMTP日誌)查看該次連線的處理結果;若信件被 SPF 擋下,日誌會留下對應的拒絕記錄。若完全沒有相關記錄,請先確認「來信 SPF 檢查」確實已啟用並儲存成功。

  • 以為開啟後自己的網域就受保護:這一頁檢查的是來信;您網域的 SPF 記錄要自己發布到 DNS,否則別人冒用您的網域時,對方的收信伺服器不會知道要擋
  • 開啟後正常客戶的信被擋:先請對方確認自己的 SPF 設定是否完整;若是轉寄或特殊來源,請加入例外清單
  • 例外清單格式寫錯:網域欄只填網域(domain.com),不要填 @domain.com 或完整 Email;IP 欄可填單一 IP 或 CIDR 網段
  • 只加例外網域卻沒加例外 IP:兩份清單是各自獨立判斷的,轉寄主機通常需要加在「例外 IP」
  • 以為本頁有服務狀態可重啟:本頁沒有服務狀態列,也沒有重新啟動按鈕(與同章其他頁不同);儲存後即套用

與其他功能的關聯

  • SPF 只管「寄件 IP 是否被網域授權」;寄件內容的簽章是另一件事,請看(郵件閘道 / DomainKey管理)
  • 網域層級的政策與失敗報告請看(郵件閘道 / DMARC管理)
  • 灰名單造成的延遲是另一層機制,見(郵件閘道 / 灰名單管理)
  • 要追查「某封信被 SPF 擋下」,請看(系統日誌 / SMTP日誌)與(郵件記錄器 / 紀錄查詢)