SPF、DKIM、DMARC 是什麼?企業郵件防偽冒設定與檢查方法
SPF、DKIM、DMARC 是三種寫在 DNS 的郵件驗證機制:SPF 列出哪些伺服器可以代表公司網域寄信,DKIM 用數位簽章證明信件來自網域且未被竄改,DMARC 則告訴收件端驗證失敗時要放行、隔離還是拒收,並把結果回報給網域擁有者。三者一起設定,才能有效阻止別人冒用公司網域寄信。
很多中小企業是在客戶收到「公司寄來的匯款通知」後,才發現網域早被冒用。這篇以 Google Workspace 與 Microsoft 365 為例,說明三筆紀錄怎麼設、DMARC 怎麼從觀察模式逐步收緊,以及怎麼自行檢查。網域防護之外,員工能不能辨認冒名郵件同樣重要,這部分可以透過 社交工程演練服務 實際量測。
為什麼公司網域會被冒用?
公司網域會被冒用,是因為電子郵件協定原本不會驗證寄件者:任何人都能把寄件人欄位寫成 finance@貴公司網域,只要收件端沒有檢查,這封信就會出現在客戶的收件匣。攻擊者最常用這招冒充財務或主管,要求客戶改匯款帳號,也就是 BEC 詐騙 的典型手法。
Gmail 已把郵件驗證列為寄件門檻。Google 的寄件者規範要求,自 2024 年 2 月 1 日起,所有寄信到 Gmail 的寄件者至少要設定 SPF 或 DKIM;每天寄送超過 5,000 封的大量寄件者,則必須同時設定 SPF、DKIM 與 DMARC,且寄件人網域要與 SPF 或 DKIM 的網域對齊。未通過驗證的信可能被標為垃圾郵件,或直接被拒收。
沒有完成 SPF DKIM DMARC 設定的公司有兩個損失:網域可被任意冒用,自己的正常郵件也更容易進垃圾信匣。
SPF 是什麼?列出誰可以代表你寄信
SPF(Sender Policy Framework)是一筆 DNS TXT 紀錄,列出被授權代表網域寄信的伺服器或服務;收件端收到信時,會比對寄信來源是否在名單上。規格定義在 RFC 7208。
一筆 SPF 紀錄長這樣:v=spf1 include:spf.protection.outlook.com -all。include 代表授權某個服務,結尾的 -all 表示名單外一律失敗,~all 表示名單外標記為可疑。Google 建議 Workspace 網域使用 ~all;Microsoft 則建議 Microsoft 365 網域搭配 DKIM 與 DMARC 時使用 -all。
SPF 最常出錯的兩件事:一個網域只能有一筆 SPF 紀錄,多一筆就會讓驗證直接失敗;SPF 的 DNS 查詢次數上限是 10 次,電子報、CRM、客服系統一家一家加進去,很容易超過。Microsoft 建議把第三方寄信服務改用子網域,讓主網域的紀錄保持簡單。

DKIM 是什麼?用簽章證明信沒有被改過
DKIM(DomainKeys Identified Mail)由寄信伺服器用私鑰在每封信加上數位簽章,收件端再用公布在 DNS 的公鑰驗證,確認信件確實由該網域授權寄出,內容在傳送途中沒有被竄改。規格定義在 RFC 6376。
和 SPF 相比,DKIM 的優點是信件被轉寄後通常仍能通過驗證。金鑰長度方面,Google 要求至少 1024 位元,並建議在 DNS 業者支援時使用 2048 位元。
DMARC 是什麼?決定驗證失敗時怎麼處理
DMARC(Domain-based Message Authentication, Reporting, and Conformance)是發布在 _dmarc.貴公司網域 的 TXT 紀錄,要求寄件人網域必須與 SPF 或 DKIM 的網域對齊,並指定失敗時的處置:p=none 只觀察、p=quarantine 放進垃圾信匣、p=reject 直接拒收。它也讓收件端每天寄回彙總報告,讓您看到誰在用公司網域寄信。
2026 年 5 月,IETF 以 RFC 9989、9990 與 9991 取代 2015 年的 RFC 7489,DMARC 從資訊性文件升為標準追蹤文件。紀錄仍以 v=DMARC1 開頭,現有設定不必重寫;但原本用來逐步收緊的 pct 標籤已被移除,改由 t=y 表示測試中,收件端會套用比指定政策低一級的處置。
Google Workspace 與 Microsoft 365 設定步驟
兩大平台的設定順序相同:先設 SPF,再啟用 DKIM,最後發布 DMARC。順序不能反過來,否則 DMARC 一上線,正常的信也可能被拒收。下表是三筆紀錄的設定與檢查清單:
| 紀錄 | 主機名稱 | Google Workspace | Microsoft 365 | 設定後要確認 |
|---|---|---|---|---|
| SPF(TXT) | 網域本身(@) | v=spf1 include:_spf.google.com ~all | v=spf1 include:spf.protection.outlook.com -all | 只有一筆、已含所有第三方寄信服務、DNS 查詢不超過 10 次 |
| DKIM | Google:google._domainkey(TXT);Microsoft:selector1._domainkey、selector2._domainkey(CNAME) | 管理控制台「應用程式 > Google Workspace > Gmail > 驗證電子郵件」產生金鑰,加到 DNS 後按「開始驗證」 | 在 Microsoft Defender 入口網站的電子郵件驗證設定啟用,依畫面提供的兩筆 CNAME 加到 DNS | 寄一封測試信,檢查信件標頭 dkim=pass |
| DMARC(TXT) | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@貴公司網域 | 同左 | 開始收到彙總報告、主網域與子網域政策正確 |
沒有用來寄信的閒置網域也要設定,SPF 寫成 v=spf1 -all,DMARC 直接設 p=reject,避免被拿去冒用。
DMARC 從 none 到 reject,要怎麼分階段導入?
DMARC 不要一次設成 reject,應該先觀察、再隔離、最後拒收,每一階段都根據報告確認合法的寄信來源已全部通過驗證。實務上常需一到數個月,視第三方寄信服務多寡而定。
- 觀察期:設定
p=none並開啟 rua 報告,至少觀察數週,列出所有用公司網域寄信的服務,例如電子報、CRM、電子發票、招募系統。 - 修補期:把報告中合法但驗證失敗的來源補進 SPF,或請服務商啟用 DKIM 簽章。
- 隔離期:改為
p=quarantine,可先搭配t=y測試;持續看報告,確認沒有正常信件被誤判。 - 拒收期:改為
p=reject,之後每季檢查一次報告,新增寄信服務時先完成驗證再上線。
我們在協助客戶導入時最常遇到的卡關點,是業務或行銷部門自行申請的寄信工具,IT 並不知道它存在。觀察期的報告往往就是第一次完整盤點這些服務的機會。

怎麼檢查 SPF DKIM DMARC 設定是否正確?
SPF DKIM DMARC 設定完成後,最直接的檢查方式有三種:用 DNS 查詢工具確認三筆紀錄存在且語法正確、寄一封信到外部信箱並查看信件標頭的驗證結果,以及定期閱讀 DMARC 彙總報告。Google 提供免費的 Admin Toolbox 可以檢查網域的 DNS 紀錄。
在 Gmail 收到的信中,點「顯示原始郵件」就能看到 SPF、DKIM、DMARC 是 PASS 或 FAIL;任何一項 FAIL,就回到上面的清單逐項比對。DMARC 報告是 XML 檔,重點看三件事:有沒有不認識的寄信來源、合法來源是否都通過、失敗量有沒有突然增加。

設好三筆紀錄之後,還要做什麼?
DNS 紀錄只能擋住「冒用你網域」的信,擋不住長得很像的假網域,例如把字母 l 換成數字 1;也擋不住員工信箱密碼被盜後寄出的信。下一步是讓員工習慣核對網域與回撥確認付款變更,並了解常見的 社交工程 手法。
如果想確認公司網域的三筆紀錄是否完整、DMARC 該怎麼排導入時程,可以 從一場 30 分鐘的諮詢開始。
SPF、DKIM、DMARC 常見問題
SPF、DKIM、DMARC 三個都要設定嗎?
要。SPF 與 DKIM 各自只驗證一部分,DMARC 則負責要求網域對齊並決定失敗時的處置,少了 DMARC,冒名信即使驗證失敗,收件端也可能照樣收下。Google 對每天寄送超過 5,000 封到 Gmail 的寄件者,已明訂三者都必須設定。一般企業即使寄信量不大,也建議三者一次到位。
設定 DMARC 會讓信寄不出去嗎?
p=none 只收集報告,不影響投遞;會造成正常信件被擋的是在還沒確認所有寄信來源前,就直接設成 quarantine 或 reject。依觀察、修補、隔離、拒收的順序推進,並在每個階段檢查報告,就能避免誤擋。新增電子報或 CRM 等寄信工具時,也要先完成 SPF 與 DKIM 再開始寄送。
怎麼看 DMARC 報告?
DMARC 彙總報告由各大信箱業者每天寄到 rua 指定的信箱,內容是 XML 格式,列出寄信來源 IP、寄出數量,以及 SPF、DKIM 與對齊的結果。看報告時先找出不認識的來源,再確認合法服務是否都通過;報告量大時,可以使用 DMARC 報告分析服務轉成圖表。
參考資料
- RFC 7208:Sender Policy Framework (SPF) – SPF 規格與 10 次 DNS 查詢上限。IETF · 2014 年 4 月
- RFC 6376:DomainKeys Identified Mail (DKIM) Signatures – DKIM 規格。IETF · 2011 年 9 月
- RFC 9989:Domain-Based Message Authentication, Reporting, and Conformance (DMARC) – 取代 RFC 7489,移除 pct 標籤。IETF · 2026 年 5 月
- Email sender guidelines – Gmail 寄件者驗證要求。Google
- Set up SPF for your Microsoft 365 domain – SPF 紀錄範例與查詢次數限制。Microsoft Learn
