View Categories

網域收不到信、寄信進垃圾桶:MX、SPF、DKIM 怎麼設

1 分鐘閱讀

快速答案:收信看 MX,寄信看 SPF、DKIM、DMARC。網域沒有 MX 記錄就永遠收不到信;SPF 只能有一筆,而且要列出所有替你寄信的服務;DKIM 要在寄信服務產生後貼進 DNS。這四筆設對,WooCommerce 的訂單信和表單通知信才會穩定進收件匣。

為什麼會這樣 #

WordPress 預設用主機的 PHP mail 寄信,沒有任何簽章,收件端很容易判成垃圾。改用 SMTP 服務之後,還要在 DNS 告訴全世界「這家服務有權替我的網域寄信」,那就是 SPF 和 DKIM。很多站換過好幾家寄信服務,SPF 累積成好幾筆、或 include 太多超過十次查詢限制,整筆失效。網域搬到 Cloudflare 時 MX 沒跟著搬,客人回信全部石沉大海。最脆弱的是用個人 Gmail 綁站台寄信:帳號一改密碼或被停用,整站的訂單信就寄不出去,而且沒人會發現。

怎麼處理 #

  1. 先查現況:用 MXToolbox 之類的工具查 MX、SPF、DKIM、DMARC 四項。
  2. MX:要收信就指向你的信箱服務(Google Workspace、Microsoft 365 或其他)。沒有信箱服務也要知道「這個網域收不到信」是預期的,寄件人就不要用它。
  3. SPF:只保留一筆 TXT,格式 v=spf1 include:各寄信服務 -all;不再使用的服務移除;總查詢次數不超過十次。
  4. DKIM:在寄信服務端產生 selector 和公鑰,貼進 DNS。WordPress 這邊裝 SMTP 外掛(FluentSMTP、WP Mail SMTP、Post SMTP 都可以)走該服務寄。
  5. DMARC:先設 p=none 收報告,確認 SPF 和 DKIM 都對齊了,再收緊。
  6. SMTP 外掛設定裡,加密方式和埠號要成對:587 配 STARTTLS,465 配 SSL,配錯會連線逾時。寄件人網域要和 DKIM 簽的網域一致。
  7. 寄一封測試信到 Gmail,用「顯示原始郵件」看 SPF、DKIM、DMARC 是否都 PASS。

我們實際遇過的情況 #

一家電商的網域根本沒有 MX 記錄,客人回覆訂單信全部收不到;訂單信又是用個人 Gmail 寄的,帳號變動之後連續幾個月寄信幾乎全部失敗,沒有人發現。我們先換到獨立的寄信服務恢復寄信,再跟客戶討論要用品牌信箱還是自己的 Gmail。

一家客戶的 MX 指向外部信箱服務,主機面板的信件轉寄怎麼設都無效,因為收信根本不經過主機,要到信箱服務那邊設。2026 年我們幫多個網域清理 SPF:合併成一筆、拿掉已停用服務的 include、補上 DMARC。

什麼時候該找人 #

DNS 在代管廠商手上、正在用 Google Workspace 或 Microsoft 365 又要加第三方寄信服務、或訂單信已經寄失敗一段時間需要補寄。SPF 改錯一個字,公司所有人的信都會開始進垃圾桶。

常見問題 #

網站寄的信為什麼都進垃圾桶? #

多半沒有 SPF 和 DKIM,或 SPF 有多筆而失效;改用 SMTP 服務並在 DNS 加上授權記錄。

可以用個人 Gmail 寄 WooCommerce 訂單信嗎? #

不建議,帳號改密碼或停用整站就寄不出去,且每日有上限,改用品牌信箱或寄信服務。

SMTP 設定連線逾時? #

加密方式和埠號要成對:587 配 STARTTLS,465 配 SSL。

想有人每月幫你確認信件鏈路正常:網站守護方案。先看現在的 DNS 和寄信設定:免費健檢