網站 Email 收不到或進垃圾信?MX、SPF、DKIM、DMARC 完整診斷
官網表單顯示寄送成功,不代表你收得到詢價。這篇分清收信 MX 與寄件 SPF、DKIM、DMARC,提供 DNS 查詢、原始郵件驗證與常見錯誤排查流程。

表單顯示「已成功送出」,結果信箱裡什麼都沒有。
這不一定是表單壞掉。網站 Email 問題至少分成三段:網站有沒有送出、寄件服務有沒有接受、收件伺服器有沒有真的收進信箱。
先分清楚:收信與寄信是兩套設定
| 目的 | 主要設定 | 回答的問題 |
|---|---|---|
| 收信 | MX | 寄到 [email protected] 的信要去哪裡 |
| 寄件授權 | SPF | 哪些伺服器可代表網域寄信 |
| 信件簽章 | DKIM | 信是否由授權服務簽署且未被修改 |
| 驗證政策 | DMARC | SPF/DKIM 失敗或不對齊時怎麼處理 |
只設 SPF、DKIM,不代表 [email protected] 收得到信;只設 MX,也不代表網站通知信能順利進收件匣。
第一步:確認 MX 是否存在
dig +short MX example.com
正常會看到優先序與郵件伺服器。完全沒有結果時,寄到該網域的信通常無處可投遞。
還要確認:
- MX 指向目前使用的郵件服務
- 目的主機名稱可解析
- DNS 沒同時保留舊服務的衝突紀錄
- Cloudflare Email Routing 或 Workspace 的目的地址已驗證
第二步:確認 SPF 沒有重複
dig +short TXT example.com
SPF 通常是一筆以 v=spf1 開頭的 TXT。最常見錯誤是不同服務各加一筆 SPF,不是完全沒設。SPF 規範要求同一個網域只有一筆記錄,應把授權來源合併。
Google 說明,寄往個人 Gmail 的寄件者至少要設定 SPF 或 DKIM,並建議網域完整設定 SPF、DKIM、DMARC。實際值要以你的郵件服務商提供的紀錄為準,不要抄別人的 include。
第三步:確認 DKIM selector
DKIM 公鑰通常位於:
selector._domainkey.example.com
Selector 不一定叫 default 或 mail。Amazon SES 等服務可能提供隨機 selector 與 CNAME,因此最可靠的方式是回郵件服務後台查看,不要靠猜。
寄一封測試信到 Gmail 後,可開啟「顯示原始郵件」,確認:
- SPF:PASS
- DKIM:PASS
- DMARC:PASS
From網域與驗證網域是否對齊
第四步:DMARC 先觀察,再收緊
DMARC 記錄在 _dmarc.example.com。剛導入時可先使用監測政策並收報告,確認所有合法寄件來源都已納入,再逐步調整為 quarantine 或 reject。
如果直接套最嚴格政策,卻漏掉電子報、表單或交易信服務,合法信也可能被擋。
第五步:沿著寄送鏈找問題
網站表單
→ API/SMTP 是否成功
→ 發信服務 event log
→ SPF/DKIM/DMARC 驗證
→ 收件方垃圾信/退信
→ 最終收件匣
200 OK 只代表 API 請求成功;服務顯示 delivered 也不等於一定出現在主要收件匣。要同時看寄件 log、原始郵件驗證與實際收件結果。
常見錯誤
- 網站直接冒用
@gmail.com當 From - root domain 有 SPF,但實際 MAIL FROM 使用另一個子網域
- DKIM CNAME 被 CDN Proxy
- 搬家時誤刪 MX/TXT
- 發信帳號仍在 sandbox,只能寄已驗證地址
- Reply-To 沒設,客戶回信回到無人信箱
常見問題
Q:可以用 Gmail 收公司網域信嗎?
A: 可以透過 Workspace 或轉寄服務收進 Gmail 介面,但網域端仍要正確設定 MX;網站自動寄信也應使用可驗證的寄件服務。
Q:SPF、DKIM 都 PASS,為什麼仍進垃圾信?
A: 驗證只是基礎,寄件 IP 與網域信譽、內容、退信率、使用者互動和發送量也會影響送達。
Q:DNS 修改多久生效?
A: 依 TTL 與各地快取而定,可能數分鐘到更久。不要只看後台顯示,應從外部 DNS 查詢驗證。
下一步
先寄一封網站測試信,再同時檢查 API log、MX、SPF、DKIM、DMARC 與原始郵件。需要完整掃描,也可使用免費網站健檢。
參考來源
想知道你的網站到底漏在哪?
速度、SEO、安全、收信、AI 能見度 —— 3 分鐘免費健檢,把看不見的問題變成看得見的數字。