
郵件的 DNS 設定:MX、SPF、DKIM、DMARC
四種記錄各自的作用
| 記錄 | 作用 | 缺少會怎樣 |
|---|---|---|
| MX | 指定由誰接收你的信 | 完全收不到信 |
| SPF | 宣告哪些來源可以用你的網域寄信 | 信件容易被判為垃圾 |
| DKIM | 為信件加上數位簽章 | 可信度下降 |
| DMARC | 宣告驗證失敗時該怎麼處理 | 偽冒難以防範 |
前兩項是基本要求,後兩項是提高送達率與防偽冒的關鍵。
MX:決定信件由誰接收
它告訴其他郵件伺服器「寄到這個網域的信要送到哪裡」。
設定時的三個重點
- 從服務商後台取得當前的建議值——不要照抄網路教學。各家的設定值都調整過,舊資料可能已失效
- 優先權數字越小越優先——有多筆時,數字小的先嘗試
- 移除舊的 MX 記錄——這是最常見的錯誤
舊記錄殘留的典型症狀
換了郵件服務但舊的 MX 記錄還在,結果是部分信件送到新服務、部分送到舊的——症狀是「有些信收得到,有些收不到」,而且沒有規律。
切換郵件服務時,務必確認舊記錄已完全移除。
SPF:宣告合法的寄件來源
它是一筆 TXT 記錄,列出哪些伺服器可以用你的網域名義寄信。
v=spf1 include:_spf.example-mail.com include:_spf.other.com ~all
要納入的所有來源
- 企業郵件服務
- 網站主機——表單通知、系統信件都從這裡寄出
- 電子報平台
- 客服或行銷系統
- 其他會以你的網域寄信的服務
漏掉網站主機是最常見的疏失。 症狀是:員工的信正常,但網站的表單通知信進垃圾桶。
相關排查見公司信箱收不到信或被當垃圾信怎麼查。
兩個常見錯誤
一、設定多筆 SPF 記錄。 一個網域只能有一筆 SPF,多筆會導致驗證失敗。要合併成一筆,不是各自新增。
二、查詢次數超過上限。 SPF 的解析有次數限制,串接太多服務時可能超出。若遇到這種情況,需要簡化或改用其他方式。
結尾的設定
~all——驗證失敗時標記為可疑,較寬鬆-all——驗證失敗時直接拒絕,較嚴格
建議先用寬鬆的設定觀察一段時間,確認所有合法來源都已納入,再考慮收緊。
DKIM:為信件加上簽章
寄件伺服器用私鑰為信件簽章,收件方用你在 DNS 中公布的公鑰驗證。
設定方式
- 在郵件服務商的後台啟用 DKIM,取得一組記錄
- 把該記錄加到 DNS
- 回到服務商後台確認驗證通過
注意事項
- 每個寄信來源需要各自設定——郵件服務、電子報平台各有各的
- 記錄值通常很長,複製時注意不要斷行或漏字
- 部分 DNS 服務對長度有限制,可能需要分段處理
DMARC:宣告處理方式
它告訴收件方:如果驗證沒通過,該怎麼處理這封信。同時可以取得驗證的統計報告。
v=DMARC1; p=none; rua=mailto:dmarc-report@example.com
三種處理政策
| 設定 | 意義 | 建議 |
|---|---|---|
p=none | 不做處理,僅收集報告 | 從這裡開始 |
p=quarantine | 放入垃圾信匣 | 確認無誤後 |
p=reject | 直接拒收 | 完全確認後 |
建議的導入順序
- 先設
p=none並指定報告收件地址 - 觀察報告數週——確認有哪些來源在用你的網域寄信
- 把遺漏的合法來源補進 SPF 與 DKIM
- 確認所有合法信件都通過驗證後,再調整為較嚴格的政策
不要一開始就設嚴格政策。 若有合法來源沒納入,那些信會被直接拒收——包含可能是重要的系統通知。
為什麼 DMARC 值得做
- 防止他人偽冒你的網域寄詐騙信——這是實際會發生的商業風險
- 提高整體的送達率
- 透過報告掌握有哪些來源在用你的網域——常會發現忘記的服務
- 部分收件服務對大量寄件者已要求具備這些設定
設定後的驗證
- 用線上工具檢查各項記錄——確認語法正確、沒有重複
- 寄一封測試信到外部信箱,檢視原始檔中的驗證結果
- 從網站表單送出一次,確認通知信也通過驗證
- 觀察 DMARC 報告數週
第三項最容易被忽略——網站的通知信與員工的信是不同的來源。
DNS 變更的生效時間
修改後不會立即生效,需要等待擴散。MX 記錄的變更建議提前調低存活時間,讓切換能更快完成。
各郵件服務商的方案內容、設定值與介面會不定期調整,本文說明的是原則與該確認的項目。實際的設定值請以服務商後台提供的當前資訊為準,不要沿用網路教學中的舊數值。