默默看郵件
← 回到部落格
DMARCDMARC 報告RUA

DMARC 報告怎麼看?帶你讀懂 RUA 聚合報告的每個欄位

DMARC 報告打開是一坨 XML,完全看不懂?這篇用白話拆解 RUA 聚合報告的每個欄位:誰在用你的網域寄信、DMARC 通過率怎麼算、怎麼抓出偽造來源,看完就會讀。

默默·2026 年 7 月 10 日

DMARC 報告打開是一坨 XML?帶你看懂 RUA 聚合報告在說什麼

你照著教學設好了 DMARC,p=nonerua= 也指到自己的信箱,想說「好,開始收報告吧」。

過幾天信箱真的收到了。你滿懷期待打開附件——結果是一個 .gz.zip,解開來是一大坨密密麻麻的 XML。

<record>
  <row>
    <source_ip>209.85.220.41</source_ip>
    <count>1247</count>
    <policy_evaluated>
      <disposition>none</disposition>
      <dkim>pass</dkim>
      <spf>fail</spf>
    </policy_evaluated>
  </row>
  ...
</record>

看到這個,八成的人就默默把信關掉,再也沒打開過。

這篇就是要救這種情況。如果你還不確定 DMARC、SPF、DKIM 是什麼,建議先看這篇入門;已經設好、只是看不懂報告的,繼續往下看。


先搞清楚:你收到的是「聚合報告」(RUA)

DMARC 會產生兩種報告,你收到的幾乎都是第一種:

  • RUA(Aggregate Report,聚合報告):每天一次,把「所有用你網域寄信的來源」統計起來——哪個 IP、寄了幾封、SPF/DKIM 過不過。不含任何信件內容、不含個資,純粹是統計數字。
  • RUF(Forensic Report,鑑識報告):個別失敗信件的細節。有隱私爭議,現在大廠幾乎都不寄了,你可以先當它不存在。

所以我們要看懂的,就是那份每天一封、由 Google、Yahoo、Microsoft 這些收件方寄給你的 聚合報告

一個關鍵觀念先講在前面:這份報告是「收件方」的視角。它不是你的寄信系統產生的,是 Gmail、Yahoo 這些「收到你信的人」回頭告訴你:「今天我收到 N 封聲稱來自你網域的信,其中哪些我驗證通過、哪些沒過。」


一份報告,拆成三層來看

不要被整份 XML 嚇到。它的結構其實只有三層。

第一層:這份報告是誰寄的、涵蓋哪段時間

報告開頭的 <report_metadata><date_range>

  • org_name:寄這份報告的收件方,例如 google.comYahooEnterprise Outlook。所以你會每天收到好幾份,一家收件方一份。
  • date_range:這份報告涵蓋的時間,通常是前一天完整的一天(UTC)。

換句話說,你今天收到的 Google 報告,講的是「昨天 Gmail 收到你網域信件」的統計。

第二層:政策,也就是你自己設的那串

<policy_published> 就是把你 DNS 上那筆 DMARC 記錄照抄回來給你看——p=nonepct=100 之類。用途是讓你確認「收件方讀到的政策,跟我以為我設的,是不是同一個」。設錯、被覆蓋、還沒生效,這裡一比對就知道。

第三層:真正的重點——每一組來源的成績單

<record> 才是精華,一份報告裡會有很多筆。每一筆代表一個寄件 IP(來源)當天的統計

欄位 白話意思
source_ip 這批信是從哪個 IP 寄出的
count 這個來源當天寄了幾封
disposition 收件方最後怎麼處置(none/quarantine/reject)
dkim DKIM 對齊後的結果(pass/fail)
spf SPF 對齊後的結果(pass/fail)
header_from 信上顯示的寄件網域

讀一筆 record 的方法,就是把它翻成一句話:

「IP 209.85.220.41(Google)昨天用我的網域寄了 1247 封信,DKIM 過了、SPF 沒過,最後收件方沒有特別處置(none)。」

一句話就讀完一筆了。整份報告就是把這種句子疊很多遍而已。


讀報告時,真正要抓的三件事

欄位看懂只是第一步。實際上你在找的是這三件事:

1. 有沒有「我不認識的來源」在用我的網域寄信?

把所有 source_ip 對照一下你已知的寄信來源(你的 ESP、你公司的郵件伺服器、你用的各種 SaaS)。

  • 認得的、而且驗證有過 → 很好,正常。
  • 認得的、但驗證一直 fail → 你有個合法來源沒設好 SPF/DKIM,信正在冒被擋的風險,要去補設定。
  • 完全不認得的 IP,還一直在寄 → 兩種可能:一是某個你忘了的第三方服務在替你發信,二是有人在偽造你的網域寄釣魚信。這正是 DMARC 最大的價值——讓你看見這件事。

2. 我的通過率到底多少?

把「驗證通過的封數」除以「總封數」,就是你的 DMARC 通過率。這個數字決定了你什麼時候敢把政策從 p=nonequarantinereject 收緊。通過率沒到夠高就貿然收緊,會誤擋自己的正常信。

3. 趨勢有沒有惡化?

單獨一天的報告看不出什麼,要連著看。某個來源的通過率突然掉、冒出一個新的高流量陌生 IP——這些都是看趨勢才抓得到的,看單日一片模糊。


問題來了:這些事,靠手動讀 XML 根本做不到

你應該已經感覺到了。上面那三件事,沒有一件是「打開一封 XML 附件」就能做到的:

  • IP 是一串數字,你得自己一個個查那是 Google、SendGrid 還是某個你沒聽過的服務。
  • 通過率要自己把每筆 count 加起來再算比例。
  • 趨勢更慘——你得把好幾天、好幾家收件方的報告攤開來對照,人腦根本疊不起來。

市面上是有一些免費工具(入門那篇提過 dmarcian、MXToolbox 之類),能幫你把報告視覺化。它們能解決「看懂單份報告」,但通常免費額度有限、或介面資訊量很大,對只想「快速知道我網域現在健不健康」的人,門檻還是偏高。


我正在做一個更簡單的 DMARC 監控工具,找你當免費 beta

因為自己和客戶都被這件事煩過,我正在做一個專門解決「看懂 DMARC 報告」的小工具

  • 你把 rua= 指到我配給你的一個地址,報告進來後自動解析,你不用再碰 XML。
  • 寄件 IP 自動標成服務商名稱(Google、Microsoft 365、SendGrid、Amazon SES…),一眼看出是誰在寄,不用自己查 IP。
  • 通過率、寄件來源清單、時間趨勢幫你算好、畫好。

現在還在開發,第一批免費開放給少數人用,目的是把功能磨順、聽早期使用者的真實回饋(不是付費、沒有金流,就是單純的 free beta)。

如果你手上有網域、平常就為 DMARC 報告頭痛,歡迎登記,開放時我會優先通知你:

👉 加入 DMARC 監控工具免費 beta 等候名單(只要留 email 和你想監控的網域,30 秒)

名額有限(第一批大概 10–20 位),想卡位的話早點登記。


在工具開放前,你可以先做的行動清單

不想等?這幾件事現在就能自己動手:

  • 確認你的 DMARC 有設 rua=,開始收報告(沒設就等於完全沒資料)
  • 打開最近一份報告,練習把一筆 record 翻成「某 IP 寄了幾封、SPF/DKIM 過不過」的白話句子
  • 把報告裡的 source_ip 對照你已知的寄信來源,圈出你不認識的
  • 對認得但一直 fail 的來源,回去補 SPF/DKIM(參考驗證三兄弟那篇
  • 通過率穩定夠高之前,先別急著把 p=none 收緊到 quarantinereject

想確認自己網域的 SPF/DKIM/DMARC 到底設對了沒,可以先用我的網域健康度檢查工具自動驗一遍;有具體問題也歡迎找我聊聊

默默
默默

台灣 Email Deliverability 顧問。曾協助數十個品牌完成 IP 預熱,黑色星期五期間維持 95% 抵達率。 如果你的信一直進垃圾信件夾,歡迎找我聊。

預約免費諮詢 →