當外部收件端(例如 Gmail)回報「550 5.7.350 … very low reputation of the sending domain」或類似訊息時,先別急著懷疑 Microsoft 365 壞了。這頁用 mslab.fun 當示範,帶你從 DNS 到後台,逐項確認 MX、SPF、DKIM、DMARC 是否完整,並提供可以直接輸入自己網域的線上檢查器。
退信(NDR)裡有兩個關鍵:拒收的是哪一台伺服器,以及對方給的原因。不同原因的處理方向完全不同。
| 退信中的線索 | 代表什麼 | 下一步 |
|---|---|---|
Message rejected by: mx.google.com | 收件方使用 Google(Gmail / Google Workspace),是對方的郵件系統拒收,不是你的 Microsoft 365 故障 | 用本頁的方法檢查「我方」寄件網域的驗證設定 |
550 5.7.350(Exchange Online 顯示) | 外部伺服器判定這封信疑似垃圾信,並回傳拒收 | 讀取後面對方附上的原文,通常會說明具體原因 |
very low reputation of the sending domain | Gmail 認為「寄件網域」的信譽很低,常見於新網域、寄信量小的子網域,或缺少 DKIM/DMARC | 補齊 SPF、DKIM、DMARC,並觀察網域信譽(見下方 Postmaster Tools) |
預設為示範網域 mslab.fun,可改成你自己的網域,按下「一鍵診斷」後,會列出現況、不足之處,並依嚴重度給出修正建議與可直接貼進 DNS 的記錄值。查詢透過 Google Public DNS 在你的瀏覽器中執行,不會上傳或儲存任何資料。
| 項目 | 結果 | 查到的內容 | 說明 |
|---|---|---|---|
| 載入中… | |||
⚠️ DNS 只能確認「記錄是否存在」。DKIM 簽章開關是否已啟用,必須在下方「管理員自我檢查五步驟」第 2 步的 Defender 或 PowerShell 才看得到。
以下是撰寫本頁時實際查到的結果。示範網域目前 MX、SPF、DKIM、DMARC 皆已完成,後兩項都是 2026-10-30 當天補齊的實際案例。補上 DMARC 後約 4 分鐘重寄新信,Gmail 已顯示 DMARC PASS(圖 12)。DKIM:CNAME 早已建立,Defender 卻顯示 CnameMissing,「上次檢查日期」還停在 2024 年;2026-10-30 14:39 在 Defender 切換啟用開關、Microsoft 重新驗證後,狀態轉為簽署中,CNAME 目標也開始回傳 DKIM 公鑰。這說明「記錄存在」不等於「設定完成」,也說明 Defender 的狀態可能是舊的。DMARC:原本沒有記錄,Gmail 摘要顯示 FAIL,15:01 在 GoDaddy 新增 TXT 後生效。
| 項目 | 查詢位置 | 結果 | 判讀 |
|---|---|---|---|
| MX | mslab.fun | 0 mslab-fun.mail.protection.outlook.com | ✔ 指向 Exchange Online |
| SPF | mslab.fun TXT | v=spf1 include:spf.protection.outlook.com -all | ✔ 單一記錄,授權 M365 寄信 |
| DKIM | selector1 / selector2._domainkey及其 CNAME 目標的 TXT | selector1-mslab-fun._domainkey.pylabs.onmicrosoft.comselector2-mslab-fun._domainkey.pylabs.onmicrosoft.com目標已回傳 v=DKIM1 公鑰(啟用前查不到) | ✔ 14:39 啟用後:CNAME 與金鑰皆已發布,Defender 顯示「正在針對此網域簽署 DKIM 簽章」 |
| DMARC | _dmarc.mslab.fun TXT | v=DMARC1; p=none; rua=mailto:dmarc@mslab.fun; adkim=r; aspf=r | ✔ 15:01 已建立(p=none 僅監控) |
| Autodiscover | autodiscover.mslab.fun | autodiscover.outlook.com | ✔ 已設定 |
下方指令中的網域會跟著上方檢查器的輸入框同步更新,可直接複製使用。
MX 要指向 *.mail.protection.outlook.com;SPF 在同一網域只能有一筆,且要包含 include:spf.protection.outlook.com。若還有其他寄信來源(電子報、校務系統),要合併進同一筆 SPF,不能另外再建一筆。
① DNS:建立 selector1._domainkey 與 selector2._domainkey 兩筆 CNAME,值由 Microsoft 後台提供。
② 開關:到 Microsoft Defender 入口網站(security.microsoft.com)→ Email & collaboration → Policies & rules → Threat policies → Email authentication settings → DKIM,選取網域並把「Sign messages for this domain with DKIM signatures」開啟。
只建 CNAME 沒開關,寄出的信仍會用預設的 xxx.onmicrosoft.com 簽章,與寄件網域不一致,等於沒有替你的網域建立信譽。
→ 逐步操作教學:如何在 Defender 檢查並開啟 DKIM
DMARC 是選用項目,Microsoft 365 系統管理中心的「設定 → 網域」頁不會列出,也不會替你產生,必須自行在 DNS 新增 _dmarc 的 TXT 記錄。設定方式見下一節。
從該網域的信箱寄一封簡短新信到 Gmail 信箱,在 Gmail 開啟該信 →「⋮」→ 顯示原始郵件,頂端應看到 SPF: PASS、DKIM: PASS、DMARC: PASS,且 DKIM 的 d= 要是你的網域,而不是 onmicrosoft.com。
到 postmaster.google.com 加入並驗證你的網域,可以看到寄往 Gmail 的垃圾信率、網域信譽與驗證通過率。寄信量太小時可能沒有資料,這時請先做到前四步,再逐步增加正常寄信。
DKIM 要完成兩件事:DNS 有兩筆 CNAME,以及後台的簽章開關為啟用。這一節帶你從 Defender 入口網站逐步操作,先檢查現況,再決定要不要開啟。
開啟 security.microsoft.com,用管理員帳號登入。
① 左側選單點 電子郵件與共同作業 → 原則與規則(英文介面:Email & collaboration → Policies & rules)。
② 頁面會列出「威脅原則」與「警示原則」,點 威脅原則。
③ 往下捲到 規則 區塊,點 電子郵件驗證設定(說明文字為「組織中已驗證接收鏈 (ARC) 和 DKIM 的設定」)。
也可以直接開 security.microsoft.com/authentication?viewid=DKIM;若網址在你的介面版本失效,就用上面的選單路徑。


頁面上方只有 ARC 與 DKIM 兩個分頁,點 DKIM。清單欄位依序為「名稱、公認的網域、網域類型、狀態、切換」,列出租戶內所有網域。勾選你的網域(例如 mslab.fun)會在右側開啟面板,面板由上到下有:使用 DKIM 簽章簽署此網域的郵件(開關,顯示「已啟用」或「已停用」)、狀態、上次檢查日期、發佈 CNAME(Host Name 與 Points to 兩組值,旁邊有 Copy 按鈕),以及「變換 DKIM 金鑰」(金鑰輪替,啟用前為灰色)。


| 狀態 | 切換 | 代表什麼 | 下一步 |
|---|---|---|---|
Valid | 已啟用 | ✔ 已完成,寄出的信會用該網域簽章 | 做下方「C. 驗證」,從實際信件確認 |
Valid | 已停用 | △ 金鑰與 CNAME 都正常,只差打開開關 | 直接做 B 的「步驟 4」 |
CnameMissing | 已停用 | ✘ 金鑰已建立,但 Microsoft 驗證不到 CNAME | 見下方「常見錯誤」第一項 |
NoDKIMKeys | 已停用 | ✘ 尚未建立金鑰 | 從 B 的「步驟 1」開始 |
CnameMissing 可能只是當時的舊結果,而不是現在的狀況。切換「使用 DKIM 簽章簽署此網域的郵件」開關時,Microsoft 會重新驗證 CNAME(面板外觀見圖 4),所以只要 DNS 已經正確,直接嘗試啟用即可。租戶的預設簽章網域(xxx.onmicrosoft.com,清單中標示「預設的簽章網域」)通常已是「Valid/已啟用」。xxx.mail.onmicrosoft.com(郵件路由用網域)顯示 NoDKIMKeys 一般是正常現象,不必處理。清單裡找不到你的網域時,請先到系統管理中心 → 設定 → 網域完成網域驗證。
勾選狀態為 NoDKIMKeys 的網域,在面板中按 建立 DKIM 金鑰(英文介面:Create DKIM keys)。面板的「發佈 CNAME」區會顯示兩組 CNAME:selector1._domainkey 與 selector2._domainkey,以及各自要指向的值(格式類似 selector1-網域名稱._domainkey.租戶名稱.onmicrosoft.com,其中網域名稱的「.」會換成「-」)。請用面板上的「Copy」按鈕複製,不要手打(位置見圖 4 的 ③④)。
到管理這個網域 DNS 的地方(例如 GoDaddy、Cloudflare、校內 DNS)新增兩筆:
| 類型 | 主機名稱(Host / Name) | 指向(Value / Points to) |
|---|---|---|
| CNAME | selector1._domainkey | Defender 面板顯示的 selector1 值 |
| CNAME | selector2._domainkey | Defender 面板顯示的 selector2 值 |
多數 DNS 服務的主機名稱欄位只填前綴(selector1._domainkey),系統會自動補上網域;若你填成含網域的完整名稱,常會變成重複的網域而失效。
可用上方線上檢查器的「一鍵診斷」,或在命令提示字元執行:
兩筆都能查到結果才進行下一步。DNS 生效通常是數分鐘到數小時。
回到 DKIM 清單,勾選該網域,在面板最上方把 使用 DKIM 簽章簽署此網域的郵件 切到 已啟用(也可以直接用清單「切換」欄的開關)。切換時 Microsoft 會重新驗證 CNAME,並出現提示對話框,按「確定」即可(圖 5);成功後面板會顯示「正在針對此網域簽署 DKIM 簽章」(圖 6),清單狀態應為 Valid。失敗時會顯示錯誤訊息(見下方「常見錯誤」)。


習慣用指令的管理員,可用 Exchange Online PowerShell:
清單中狀態為 Valid、切換為 已啟用,面板顯示「正在針對此網域簽署 DKIM 簽章」(圖 6);PowerShell 的 Enabled 為 True、Status 為 Valid。

從該網域的信箱寄一封簡短新信到 Gmail,開啟後按「⋮」→ 顯示原始郵件。頂端的摘要表應是:SPF: PASS、DKIM: PASS,且 DKIM 後面的「網域」是你的網域,不是 onmicrosoft.com(圖 8)。啟用後第一封可能需要幾分鐘才會開始用新簽章,沒成功時請稍候再寄一次。
Authentication-Results 也不會出現 dmarc=。SPF 與 DKIM 都通過且對齊時,補上 DMARC 記錄(見下一節)後再寄一封,就會變成 PASS。
在原始郵件分頁按 Ctrl + F,搜尋 DKIM-Signature,找到以 d= 開頭的欄位:d=mslab.fun 代表用你的網域簽章成功(圖 9)。再搜尋 Authentication-Results,應看到 dkim=pass header.i=@你的網域(圖 10)。


這是「CNAME 存在,但 Microsoft 驗證不過」的狀態。先用下面的指令確認 CNAME 能一路解析到 Microsoft 發布的金鑰:
正常:結果會先顯示 canonical name = selector1-…onmicrosoft.com,接著出現以 v=DKIM1; k=rsa; p=… 開頭的公鑰。
不正常:只有 canonical name,沒有金鑰,或顯示 Non-existent domain,代表 Microsoft 端尚未發布這個網域的金鑰,或 CNAME 的值與 Microsoft 預期不同。
處理順序:
① 勾選網域,打開面板,把面板顯示的兩筆 CNAME 值與 DNS 內容逐字比對,不同就改成面板的值。
② 值相同時,直接把「使用 DKIM 簽章簽署此網域的郵件」開關切到已啟用。面板的「上次檢查日期」若是很久以前,表示狀態是舊的,切換時 Microsoft 會重新驗證(實例:mslab.fun 的狀態停在 2024/12/06 的 CnameMissing,切換啟用後立即轉為簽署中);清單上的「重新整理」只是重新載入畫面,不一定會觸發驗證。
③ 切換後仍失敗(會顯示「CNAME record does not exist」之類的錯誤),先用 PowerShell 檢視 Microsoft 端的設定:
④ 最後手段:刪除設定後重建,重建會產生新的金鑰,請改以新畫面顯示的 CNAME 值為準,再回頭核對 DNS:
重建後仍無法通過時,建議開 Microsoft 支援案件。
表示 Microsoft 在 DNS 查不到那兩筆 CNAME。依序檢查:① 是否已建立兩筆;② 主機名稱有沒有多帶網域;③ 值是否與 Defender 顯示的完全一致(沒有多空白、沒有漏字);④ DNS 是否尚未生效,等一段時間後再試。可用上方的檢查器或 nslookup 確認。
多半是帳號權限不足。請改用全域管理員或具備 Exchange 組織管理權限的帳號操作。
租戶預設的 xxx.onmicrosoft.com 網域通常已預設啟用 DKIM。需要手動設定的是你自己加入的自訂網域(例如 mslab.fun)。
請確認寄信用的是「已啟用 DKIM 的那個網域」的信箱;若是從別名或其他網域寄出,會用該網域自己的設定簽章。剛啟用時也可能還要幾分鐘到數小時才生效,可稍後重寄測試。
在管理這個網域 DNS 的地方(mslab.fun 的名稱伺服器為 GoDaddy domaincontrol.com)新增一筆 TXT 記錄:
| 欄位 | 值 |
|---|---|
| 類型 | TXT |
| 名稱(Host) | _dmarc(多數 DNS 服務只需填前綴;完整名稱為 _dmarc.mslab.fun) |
| 值 | v=DMARC1; p=none; rua=mailto:dmarc@mslab.fun; adkim=r; aspf=r |
| TTL | 預設或 1 小時 |
rua 是彙總報告的收件信箱,請換成真的存在、可收信的信箱,建議用專用信箱,因為報告為 XML 附件、量不小。
nslookup -type=TXT _dmarc.mslab.fun 確認查得到記錄(GoDaddy 通常在數分鐘內生效,最長可能到 48 小時)。② 再從該網域寄一封新信到 Gmail,「顯示原始郵件」頂端的 DMARC 應從 FAIL 變成 PASS。③ 確認 rua 的信箱真的存在,否則彙總報告會被退回。
| 階段 | 設定 | 做什麼 |
|---|---|---|
| ① 觀察 | p=none | 只收報告,不影響收發信。確認所有合法寄件來源(M365、電子報、校務系統)的 SPF/DKIM 都有對齊。建議 2 到 4 週。 |
| ② 部分隔離 | p=quarantine; pct=10 | 未通過者有 10% 進垃圾郵件匣,逐步提高到 100。 |
| ③ 完全拒收 | p=reject | 確認沒有合法信件被誤判後再啟用,可有效防止他人冒用你的網域寄信。 |
p=none 往上調。DKIM 沒對齊時就收緊政策,轉寄或 SPF 失敗的合法信件可能被擋。最常見的原因是簽章開關沒有啟用。請用 Get-DkimSigningConfig 確認 Enabled 是否為 True,或到 Defender 的 DKIM 頁面開啟。剛建立 CNAME 時,也可能需等 DNS 生效後再開啟。
子網域有自己的寄信信譽與 DKIM 設定,不會自動沿用主網域。DMARC 在子網域沒有記錄時,會沿用上層網域的政策。若子網域寄信量小,信譽累積較慢,更需要完整的 SPF、DKIM、DMARC 來證明身分,必要時也可考慮改用主網域寄信。
① 新網域或寄信量很小時,信譽需要時間累積,先以正常、小量、有往來的收件人逐步增加。
② 避免用「轉寄」、「高重要性」旗標,並減少大量連結與附件。
③ 用 Postmaster Tools 與 Gmail「顯示原始郵件」確認實際狀況。
④ 緊急時,請對方的郵件管理員把你的網域或寄件者加入允許清單,或改以電話聯絡。
SPF 只驗證「寄信伺服器的 IP」,轉寄後容易失效。DKIM 是替信件內容簽章,轉寄後仍能保留。Gmail 的寄件指引也要求寄件者設定 SPF 與 DKIM,大量寄件者(每日對 Gmail 寄超過 5,000 封)還必須設定 DMARC。實際規定以 Google 官方文件為準。