Email DNS 記錄設定教學:MX、SPF、DKIM、DMARC、BIMI 完整指南

把 Email 收發需要的 MX、SPF、DKIM、DMARC、BIMI 一次講清楚,加上 Google Workspace 與 Microsoft 365 設定差異,讓你不只會照抄記錄值。

DNSEmailMXSPFDKIMDMARCBIMI教學郵件設定防垃圾郵件郵件伺服器Google WorkspaceMicrosoft 365郵件驗證

郵件 DNS 是很多站長最容易頭痛的一塊,因為它不像網站首頁那樣一眼就看得出來有沒有成功。實際上只要知道每筆紀錄在保護什麼、影響什麼,你就比較不會在收信正常卻寄件被拒時完全沒方向。

你如果不想每次都只是照著別人的畫面一步一步跟著按,卻不知道自己到底改了什麼,這篇會比較適合你。重點不是讓你背流程,而是讓你下次遇到類似情況時,還知道該怎麼自己判斷。

你會學到什麼

  • 看懂 Email 相關 DNS 紀錄各自的用途。
  • 知道新建企業信箱時至少要先補哪些紀錄。
  • 了解 Google Workspace 與 Microsoft 365 的設定差異。
  • 認識 BIMI 記錄,讓你的品牌 Logo 出現在收件匣。
  • 遇到寄信進垃圾桶或驗證失敗時,有基本排查方向。

什麼情況最適合先看這篇

  • 正在處理網域、解析、Cloudflare 或郵件紀錄,想一次把觀念和排錯順好的人
  • 你現在正要處理「Email DNS 記錄設定」這類操作
  • 你希望做完之後不只功能能用,連驗證與排錯也有概念

開始前先確認

  • 先確認你的信箱服務商是誰。
  • 整理好對方提供的 MX、SPF、DKIM、DMARC 設定值。
  • 如果網站與信箱分不同供應商,特別注意不要互相覆蓋。

先提醒你一件事

DNS 問題常常不是設定全錯,而是你同時改了太多地方,最後分不清楚是哪一步造成的。

詳細教學與操作步驟

概述

要讓你的網域能正常收發電子郵件,需要設定多筆 DNS 記錄。除了基本的 MX 記錄之外,SPF、DKIM 和 DMARC 記錄能大幅降低你的郵件被歸類為垃圾信的機率。

Email DNS 記錄全景圖

設定 MX 記錄

MX(Mail Exchange)記錄告訴寄件方:「寄到這個網域的郵件,應該送到哪台郵件伺服器。」

cPanel 虛擬主機郵件:

  1. 登入 Cloudflare Dashboard,進入你的網域 DNS 設定頁面。
  2. 點選「Add record」,填寫:
    • Type: MX
    • Name: @
    • Mail server: mail.example.com(替換為你的網域)
    • Priority: 0
    • Proxy status: 此項會自動設為 DNS only(灰色雲朵)
  3. 同時新增一筆 A 記錄,將 mail.example.com 指向你主機的 IP 位址。

Google Workspace 與 Microsoft 365 設定差異

這是台灣最多企業使用的兩個 Email 服務。兩者的 DNS 設定方式有明顯差異,搞混的話信就收不到了。

Google Workspace 完整設定

MX 記錄:

SPF 記錄:

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

DKIM 設定步驟:

  1. 登入 Google Admin Console
  2. 前往「Apps」→「Google Workspace」→「Gmail」→「Authenticate email」。
  3. 選擇你的網域,點選「Generate new record」。
  4. 選擇 DKIM key bit length(建議 2048 位元)。
  5. 複製產生的 DKIM 值。
  6. 到 Cloudflare DNS 新增 TXT 記錄:
    • Name: google._domainkey
    • Content: 貼上 Google 提供的 DKIM 值
  7. 回到 Google Admin Console,點選「Start authentication」。

DMARC 記錄:

v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com;

Microsoft 365 完整設定

MX 記錄:

優先順序郵件伺服器
0example-com.mail.protection.outlook.com

注意:Microsoft 365 的 MX 記錄中,你的網域名稱中的 . 會被替換成 -。例如 example.com 變成 example-com

SPF 記錄:

v=spf1 include:spf.protection.outlook.com -all

DKIM 設定步驟:

  1. 登入 Microsoft 365 Defender
  2. 前往「Email & collaboration」→「Policies & rules」→「Threat policies」→「DKIM」。
  3. 選擇你的網域,Microsoft 會提供兩筆 CNAME 記錄。
  4. 到 Cloudflare DNS 新增這兩筆 CNAME 記錄:
    • Name: selector1._domainkey
    • Target: selector1-example-com._domainkey.example.onmicrosoft.com
    • Name: selector2._domainkey
    • Target: selector2-example-com._domainkey.example.onmicrosoft.com
  5. 回到 Microsoft 365 Defender,啟用 DKIM。

Microsoft 365 額外需要的記錄:

Microsoft 365 除了 Email 之外,Teams 和其他服務也需要額外的 DNS 記錄:

# Autodiscover(Outlook 自動設定)
autodiscover  CNAME  autodiscover.outlook.com

# SRV 記錄(Teams / Skype for Business)
_sipfederationtls._tcp  SRV  100 1 5061 sipfed.online.lync.com
_sip._tls               SRV  100 1 443 sipdir.online.lync.com

Google Workspace vs Microsoft 365 對照表

項目Google WorkspaceMicrosoft 365
MX 記錄數量5 筆1 筆
SPF include_spf.google.comspf.protection.outlook.com
DKIM 記錄類型TXTCNAME
DKIM selectorgoogle._domainkeyselector1._domainkey + selector2._domainkey
額外記錄Autodiscover CNAME + SRV
DKIM key 更換手動在 Admin Console自動輪換

設定 SPF 記錄

SPF(Sender Policy Framework)記錄聲明哪些伺服器有權代表你的網域發送郵件,幫助收件方辨識合法郵件。

  1. 點選「Add record」,填寫:
    • Type: TXT
    • Name: @
    • Content: 依據你的郵件服務填入(見下方範例)
  2. 點選「Save」。

常見 SPF 記錄範例:

# cPanel 虛擬主機
v=spf1 +a +mx +ip4:你的主機IP -all

# Google Workspace
v=spf1 include:_spf.google.com -all

# Microsoft 365
v=spf1 include:spf.protection.outlook.com -all

# 同時使用 cPanel 郵件 + Google Workspace 轉寄
v=spf1 +a +mx include:_spf.google.com -all

# 同時使用多個郵件服務(注意 DNS lookup 不能超過 10 次)
v=spf1 include:_spf.google.com include:spf.protection.outlook.com -all

SPF 參數說明:

  • +a:允許網域 A 記錄的 IP 發信
  • +mx:允許 MX 記錄指向的伺服器發信
  • include::允許指定的第三方服務發信
  • -all:嚴格模式,拒絕未授權的伺服器(建議使用)
  • ~all:軟拒絕,標記但不一定拒絕(測試階段可用)

SPF 限制: 一個網域只能有一筆 SPF 記錄。如果你有多個郵件服務,要把它們合併成一筆。同時,SPF 的 DNS lookup 次數上限是 10 次,超過就會驗證失敗。

設定 DKIM 記錄

DKIM(DomainKeys Identified Mail)使用數位簽章驗證郵件確實來自你的網域,且內容未被竄改。

  1. 從你的郵件服務提供商取得 DKIM 記錄值:
    • cPanel: 登入 cPanel →「Email Deliverability」→ 查看或修復 DKIM 設定。
    • Google Workspace: 管理控制台 →「Apps」→「Google Workspace」→「Gmail」→「Authenticate email」。
    • Microsoft 365: Security Portal → DKIM 設定頁面。
  2. 在 Cloudflare 新增 TXT 記錄:
    • Type: TXT
    • Name: default._domainkey(或服務商指定的名稱)
    • Content: 服務商提供的 DKIM 值(一長串以 v=DKIM1; 開頭的文字)
  3. 點選「Save」。

設定 DMARC 記錄

DMARC(Domain-based Message Authentication, Reporting and Conformance)整合 SPF 和 DKIM 的驗證結果,告訴收件方如何處理驗證失敗的郵件。

  1. 在 Cloudflare 新增 TXT 記錄:
    • Type: TXT
    • Name: _dmarc
    • Content: (參考下方範例)
  2. 點選「Save」。

DMARC 記錄範例(由鬆到嚴):

# 階段一:純監控(剛開始設定建議從這裡開始)
v=DMARC1; p=none; rua=mailto:dmarc@example.com;

# 階段二:隔離(觀察一段時間沒問題後)
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com;

# 階段三:嚴格拒絕(確認 SPF 和 DKIM 都正常後再啟用)
v=DMARC1; p=reject; rua=mailto:dmarc@example.com; adkim=s; aspf=s;

DMARC 參數說明:

  • p=none:僅監控,不採取行動(測試用)
  • p=quarantine:將可疑郵件放入垃圾信匣
  • p=reject:直接拒絕可疑郵件
  • rua=mailto::接收 DMARC 彙總報告的 Email 信箱
  • ruf=mailto::接收個別失敗報告的 Email 信箱
  • adkim=s:DKIM 對齊模式嚴格(strict)
  • aspf=s:SPF 對齊模式嚴格(strict)
  • pct=100:套用政策的比例(預設 100%)

建議做法: 先從 p=none 開始,觀察 DMARC 報告幾週,確認沒有合法郵件被誤判後,再逐步升級到 p=quarantine 最後到 p=reject

設定 BIMI 記錄

BIMI(Brand Indicators for Message Identification)是一個比較新的標準,讓你的品牌 Logo 出現在支援的收件匣中(例如 Gmail、Apple Mail)。當收件者看到你的郵件時,旁邊會顯示你的品牌 Logo,提升辨識度與信任感。

BIMI 的前提條件:

  1. DMARC 政策必須設為 p=quarantinep=rejectp=none 不行)。
  2. 需要準備一個符合規格的 SVG Logo 檔案(SVG Tiny PS 格式)。
  3. 部分郵件服務商(如 Gmail)額外要求 VMC(Verified Mark Certificate),需要向 CA 購買。

BIMI 記錄設定:

# 基本 BIMI 記錄(不含 VMC)
_bimi  TXT  "v=BIMI1; l=https://example.com/brand/logo.svg;"

# 含 VMC 的 BIMI 記錄(Gmail 要求)
_bimi  TXT  "v=BIMI1; l=https://example.com/brand/logo.svg; a=https://example.com/brand/vmc.pem;"

在 Cloudflare 設定方式:

  1. 點選「Add record」。
  2. 填寫:
    • Type: TXT
    • Name: default._bimi
    • Content: v=BIMI1; l=https://example.com/brand/logo.svg;
  3. 點選「Save」。

BIMI Logo 規格要求:

  • 檔案格式:SVG Tiny PS(不是一般的 SVG)
  • 背景必須是方形
  • 不能有透明背景
  • 建議尺寸:至少 32x32 像素的視覺清晰度
  • 必須透過 HTTPS 公開存取

各郵件服務商對 BIMI 的支援狀態:

服務商支援 BIMI是否要求 VMC
Gmail支援需要 VMC
Apple Mail (iOS 16+)支援需要 VMC
Yahoo Mail支援不需要
Fastmail支援不需要
Outlook/Microsoft 365尚未支援-

現階段建議: BIMI 的設定比較進階,VMC 的費用也不低(每年數萬元台幣)。如果你是中小企業,可以先把 MX、SPF、DKIM、DMARC 設定好就好,BIMI 等到品牌規模較大時再考慮。

驗證設定

所有記錄設定完成後,請使用以下工具驗證:

  1. 前往 mxtoolbox.com
  2. 輸入你的網域名稱,分別檢查:
    • MX Lookup: 確認 MX 記錄正確。
    • SPF Record Lookup: 確認 SPF 記錄語法正確且 DNS lookup 不超過 10 次。
    • DKIM Lookup: 輸入 selector(例如 defaultgoogle)和網域名稱。
    • DMARC Lookup: 確認 DMARC 記錄存在且語法正確。
  3. 另外也可以寄一封測試信到 mail-tester.com 提供的測試地址,取得完整的郵件健康度評分。
  4. 如果有設定 BIMI,可以用 bimigroup.org/bimi-generator 驗證 BIMI 記錄。

Email DNS 排錯對照表

症狀可能原因檢查項目
完全收不到信MX 記錄缺失或錯誤dig example.com MX
收得到信但寄不出去SPF 設定缺失dig example.com TXT 找 SPF
寄出的信進對方垃圾郵件SPF/DKIM/DMARC 不完整用 mail-tester.com 測試
寄出的信被直接拒收IP 在黑名單或 rDNS 未設定mxtoolbox.com Blacklist Check
DKIM 驗證失敗DKIM 記錄值過期或未啟用確認 selector 和 TXT 記錄正確
SPF PermErrorSPF 的 DNS lookup 超過 10 次合併 include 或改用 ip4/ip6

做完後怎麼確認自己真的有設對

  • 至少用 dignslookup 或線上工具再驗一次,區分是設定錯、快取,還是 propagation。
  • 重新看一次你剛剛改過的設定值、網址、帳號或紀錄,確認沒有填錯對象。
  • 如果這篇操作會影響正式網站或正式信箱,建議再從不同網路或不同裝置測一次。
  • 寄一封測試信給自己(用不同網域的信箱),確認收件正常且不會進垃圾郵件。

這一題最常踩的坑

  • 只設 MX,不設 SPF / DKIM / DMARC。
  • 同時存在多條 SPF 導致驗證衝突(SPF 只能有一筆 TXT 記錄)。
  • 改完 DNS 沒用郵件檢測工具驗證結果。
  • Google Workspace 和 Microsoft 365 的 DKIM 設定方式搞混(一個是 TXT,一個是 CNAME)。
  • MX 記錄的目標主機(如 mail.example.com)不小心開了 Cloudflare Proxy。

如果你要往下一步走

信箱若已建立好帳號,接著可以搭配 cPanel Email 帳號設定教學。 如果你接下來要把網站正式上線,也可以直接銜接侃瑞的 主機方案VPS 方案

需要主機來實作?

侃瑞科技提供 cPanel 虛擬主機與 VPS,教學裡的操作開箱即用。

查看方案 →
LINE 諮詢