Gmail 老是退信?網站工程師帶你設定 SPF、DKIM、DMARC

很多公司老闆都遇過這樣的狀況:
明明信箱能正常寄信,但只要寄到 Gmail,不是直接退信,就是客戶說沒收到,
錯誤訊息還常常出現: Message Delivery Failure

我們公司雖然主要在做網站設計,但其實經常被客戶問到各種「電腦當機、信件寄不出去」的疑難雜症。尤其是 郵件退信 的問題,幾乎每個月都有人打電話來求救。原因很單純,不是信箱壞掉,而是寄件端缺乏 Google 要求的郵件驗證設定。

這些驗證就像電子郵件的「三道身分證明」:

  • SPF 負責授權哪台伺服器能替你寄信
  • DKIM 確保信件在傳送過程中沒被竄改
  • DMARC 制定規則,告訴收件方如果驗證失敗該怎麼處理

缺少任何一個,Gmail 就有可能把你的信擋掉。
所以今天我要用工程師的角度,帶大家看懂這三個設定,並手把手教你怎麼做,避免再被 Gmail 退信。

SPF,授權誰能替你寄信

解決 Gmail 退信的第一步,就是檢查 SPF(Sender Policy Framework)。它的作用很簡單:告訴收件方「哪些伺服器是我授權的,可以替我寄信」。

想像一下,如果有人冒用你的公司名稱寄信給客戶,卻不是從你公司的伺服器出去,Google 會馬上警覺「這可能是詐騙」。而 SPF 就像一份寄件白名單,讓 Gmail 清楚知道哪些 IP 或郵件服務是合法的。

🛠 SPF 設定方式

  1. 登入網域的 DNS 管理平台(例如:Cloudflare、網路中文、HiNet 等)。
  2. 新增一筆 TXT 紀錄,內容格式如下:
    v=spf1 include:_spf.google.com ~all

🔍 SPF 設定語法說明:
v=spf1:表示使用 SPF v1 標準。
include:_spf.google.com:允許 Google Workspace 的伺服器寄信。
~all:除了白名單以外的伺服器都「軟拒絕」,更嚴格的寫法是 -all(強制拒絕)。

⚠️ 常見錯誤

  • ・沒有設定 SPF → Gmail 直接把信丟垃圾桶或退信。
  • ・設定多筆 SPF TXT → Gmail 只會讀第一筆,後面全部無效。
  • ・忘記更新 → 換郵件服務卻沒改 SPF,信也會被擋掉。

換句話說,SPF 是最基礎卻最容易忽略的一步。
沒有這份「寄件白名單」,就算你的郵件內容再正式,Gmail 也可能把它當成垃圾信。

DKIM,確保信件內容不被竄改

在 SPF 幫你確認「寄件人身分」之後,下一步就是 DKIM(DomainKeys Identified Mail)。它的角色,就像是在信件上加了一個 數位簽名,用來證明「這封信真的來自你的網域,而且內容沒有被改過」。

DKIM 的原理

  • 當你寄信時,郵件伺服器會用「私鑰」在信件標頭加上一段加密簽章。
  • 收件方(像 Gmail)收到信件後,會去你的 DNS 查詢「公開金鑰」,用它來驗證這個簽章。
  • 如果簽章能對得上,就代表這封信在傳送過程中沒有被竄改。

🔐 DKIM 設定步驟

  1. 登入你的郵件服務平台(如 Google Workspace、Microsoft 365、HiBox 等),產生 DKIM 金鑰。
  2. 系統會提供一段 TXT 記錄,格式類似如下:
google._domainkey.example.com  
IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
  
  1. 將這筆 TXT 記錄新增至你的 DNS 管理系統。
  2. 回到郵件服務後台,啟用 DKIM 簽章功能。

⚠️ 常見錯誤

  • ・只設 SPF 沒設 DKIM → Gmail 會判定信件驗證不足。
  • ・金鑰過期未更新 → DKIM 金鑰需定期檢查是否有效。
  • ・DNS 傳播延遲 → 新增 TXT 後,通常需幾分鐘到幾小時才能生效。

為什麼 DKIM 很重要?

因為 SPF 只能驗證「誰能寄信」,卻沒辦法保證「信件內容」沒被動手腳。
有了 DKIM,Google 就能信任這封信真的出自你的公司,內容沒有在途中被竄改或插入惡意連結。

DMARC,郵件政策的規範與監控

當 SPF 確認了寄件來源,DKIM 保證了信件內容,最後還需要一個「裁判」來規範整個驗證流程,那就是 DMARC(Domain-based Message Authentication, Reporting & Conformance)

簡單來說,DMARC 就像是郵件安全的「遊戲規則」。它告訴 Gmail 與其他郵件服務:

  • 如果 SPF 或 DKIM 驗證失敗,要怎麼處理?
  • 是否要直接拒收?還是先丟進垃圾信夾?

📧 DMARC 設定說明

DMARC 是一種用來防止電子郵件詐騙的驗證機制,它也是一筆 TXT 記錄,格式如下:

_dmarc.example.com  
IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:report@example.com"
  

🔍 設定說明

  • v=DMARC1:版本宣告。
  • p=quarantine:政策設定,此為「驗證失敗的信件丟入垃圾信夾」。
  • rua=mailto:report@example.com:報表接收信箱,追蹤驗證失敗情況。

📌 常見三種政策比較

  • p=none:觀察模式,不影響信件發送,只收報表。
  • p=quarantine:驗證失敗的信件會進入垃圾信夾。
  • p=reject:驗證失敗的信件直接被拒收,不會進入收件匣。

DMARC 的價值

  1. 提升品牌信任度:客戶更容易相信信件是真的來自你公司。
  2. 降低詐騙風險:冒用你公司名義的釣魚信更難成功。
  3. 提供追蹤報表:你能收到 Gmail 或其他郵件商的回報,知道有多少信件被驗證通過或拒收。

沒有 DMARC,就像比賽場上沒有裁判,就算 SPF 和 DKIM 都設了,也無法全面掌控信件驗證的結果。

網站設計 × 郵件安全的整合最佳實務

很多人以為網站設計只是版面漂亮、操作方便,但實際上,網站要能被信任,必須連同寄信機制都完整規劃。畢竟網站最常見的互動就是:客戶填完表單、收到通知信,或公司寄送報價單、會員信件。如果這些信件在 Gmail 一直退信或進垃圾信,網站再美觀也無法支撐業務成長。

👨‍💻 工程師建議的郵件驗證流程

從工程師角度,我建議企業在建立網站或規劃郵件服務時,至少遵循以下流程,以確保信件能順利寄達並防止冒用風險:

  1. 確認 DNS 功能:購買網域後,請先確認 DNS 平台是否支援新增 SPFDKIMDMARC 記錄。
  2. 選擇信任的郵件服務:建議使用 Google Workspace、Microsoft 365 等專業服務,並依照官方指引完成驗證。
  3. 設定三大驗證項目:依序設定 SPF(授權寄件伺服器)、DKIM(數位簽章)、DMARC(驗證政策與報表)。
  4. 實際寄信測試:使用 Gmail 或 mail-tester 工具 測試信件投遞,觀察是否進入收件匣或被標記為垃圾信。
  5. 持續監控與調整:定期檢查 DMARC 報表,觀察是否有異常寄信來源,及時應對冒用風險。

把這些驗證做好,等於替網站多加上一層「隱形安全網」。它不僅保障你寄出的每封信都能順利送達,更能讓客戶在第一時間信任你的品牌。

你還有碰到什麼退信的事情嗎?

不管是 Gmail 一直退信、郵件進垃圾信,
還是公司信箱寄不出去,都可以跟我聊聊。
我會用工程師的角度,幫你檢查從 DNS、伺服器到網站設計的細節,
一起找到最適合你的解決辦法。

填表讓我幫你看看 →

返回頂端