2026年8月24日 星期一

Google Workspace 雖正常寄信,但 SPF 驗證沒有成功

 SPF 快速檢查

1. 查詢公網 DNS TXT Record

PowerShell 執行:

curl.exe "https://cloudflare-dns.com/dns-query?name=csps.tyc.edu.tw&type=TXT" `
-H "accept: application/dns-json"

2. 確認 DNS wire-format

找到 SPF 的 data 欄位。

✅ 正確:單一完整字串

"v=spf1 include:_spf.google.com ~all"

Cloudflare JSON 中通常會看到:

\"v=spf1 include:_spf.google.com ~all\"

 

❌ 錯誤:被拆成多個字串

"v=spf1" "include:_spf.google.com" "~all"

Cloudflare JSON 中會看到類似:

\"v=spf1\" \"include:_spf.google.com\" \"~all\"

 

此格式會將各段直接串接,可能形成:

v=spf1include:_spf.google.com~all

造成 Gmail 無法正確辨識 SPF,可能顯示:

SPF: NONE

3. 修正後驗證

修正 DNS TXT 後再次執行步驟 1。

確認變成:

"v=spf1 include:_spf.google.com ~all"

再寄一封測試信至 Gmail,於「顯示原始郵件」確認:

SPF: PASS
DKIM: PASS
DMARC: PASS
 

一、問題現象

2026/08/24 發現學校 @csps.tyc.edu.tw 帳號寄送郵件至 Gmail 時,部分郵件遭 Gmail 退信,錯誤訊息如下:

550 5.7.1 Gmail has detected that this message is likely unsolicited mail.

表示 Gmail 將郵件判定為疑似垃圾郵件/未經請求郵件,因此直接拒收。


二、初步檢查結果

檢查退信原始郵件 Header:

  • SPF:NONE
  • DKIM:PASS
  • DMARC:PASS

其中 Gmail 顯示:

spf=none (google.com: xxx@csps.tyc.edu.tw does not designate permitted sender hosts)

表示 Google Workspace 雖正常寄信,但 SPF 驗證沒有成功。


三、DNS 排查過程

檢查 csps.tyc.edu.tw DNS:

SPF 設定

原設定內容:

v=spf1 include:_spf.google.com ~all

DNS 權威伺服器:

  • ns1.tyc.edu.tw
  • ns2.tyc.edu.tw

內部 DNS 10.255.4.1、Cloudflare 1.1.1.1 及兩台權威 DNS 均可查到 SPF 紀錄。

但進一步檢查 DNS 原始 TXT 回應時,發現 SPF 被存成三段:

"v=spf1" "include:_spf.google.com" "~all"

由於 TXT 多段字串在解析時會直接串接,造成 SPF 實際內容可能變成:

v=spf1include:_spf.google.com~all

因此 Gmail 無法正確辨識 SPF,回傳 SPF: NONE


四、修正方式

將原 SPF TXT Record 修改為「單一完整字串」:

修正前:v=spf1 include:_spf.google.com ~all
將字串加上""

修正前:"v=spf1 include:_spf.google.com ~all"

修正後,Cloudflare DNS 查詢結果變成:

"v=spf1 include:_spf.google.com ~all"

確認 SPF 已以單一 TXT 字串正常公開。

DKIM 與 DMARC 均未修改。


五、修正後驗證結果

重新由 @csps.tyc.edu.tw 寄送測試郵件至 Gmail。

Google 原始郵件驗證結果:

  • SPF:PASS
  • DKIM:PASS
  • DMARC:PASS

Header 顯示:

spf=pass (google.com: domain of gavin@csps.tyc.edu.tw designates 209.85.220.41 as permitted sender)

確認 Google Workspace 寄信來源已被 SPF 正確授權。


六、目前狀態

DNS 與郵件驗證目前均正常:

  • SPF:PASS
  • DKIM:PASS
  • DMARC:PASS
  • Google Workspace 寄信:正常
  • Gmail 已可正常收件

但部分測試郵件目前仍可能被 Gmail 分類至「垃圾郵件」,推測與先前 SPF 長期異常造成的寄件網域信譽、垃圾郵件判定歷史有關。

後續建議暫時避免短時間大量寄送相同內容郵件,並持續觀察 Gmail 收件分類及 Google Postmaster Tools 的 Domain Reputation、Spam Rate 與 Authentication 狀況。


七、維護重點

日後若再次發生 Gmail 退信,建議依序檢查:

  1. Gmail 原始郵件中的 SPF、DKIM、DMARC 是否皆為 PASS。
  2. SPF TXT 是否仍為單一完整字串。
  3. ns1.tyc.edu.twns2.tyc.edu.tw 是否回傳一致紀錄。
  4. 公網 DNS 是否可正常查詢。
  5. 若三項驗證皆 PASS,但郵件仍進垃圾郵件,再檢查 Gmail Domain Reputation 與 Spam Rate。

本次主要故障原因:SPF TXT Record 被 DNS 系統拆成多個未保留空白的字串,造成 Gmail SPF 驗證失敗。

 

 

沒有留言:

張貼留言