網頁設計

公司網域信箱該不該導入?除了信任還有 Gmail 這道新門檻

客戶問報價,你手機打字回了一封信,寄件人卻是一串 @gmail.com 的帳號。同樣的內容,同樣的服務,對方隔了半天才回,還多問一句「這家公司登記在哪裡」。信箱這件小事,常常比想像中更早就在幫你的生意扣分。

公司網域信箱指的是信箱帳號 @ 後面接的是公司自己的網域,例如 info@你的公司.com,而不是 @gmail.com、@yahoo.com.tw 這類免費信箱。差別不只是看起來比較正式。一份針對美國消費者的調查發現,四分之三的受訪者把「信箱網域跟網站網址一致」列為信任一家小型企業的重要因素,三分之一的人一看到賣家用個人信箱聯絡,就會懷疑對方的真實性。信任只是第一層,底下還牽涉到誰真正掌控這個信箱帳號,員工離職、換信箱服務商時,網域信箱能不能安全交接,免費信箱完全做不到。

公司網域信箱是什麼?

網域信箱與免費信箱,骨子裡是兩種完全不同的寄信架構,這個架構上的差異,最後會反映在客戶怎麼看你、你能不能真正掌控自己的信箱資產這兩件事上。

網域信箱與免費信箱在寄信架構上的基本差異

網域信箱,指的是信箱帳號 @ 後面那一段是公司自己擁有的網域,例如 info@你的公司.com、sales@你的公司.com,而不是 @gmail.com 這類由第三方平台提供的網域。因為信箱掛在自己的網域下,這個網域怎麼收信、怎麼證明信是誰寄出的,全部要靠公司自己去設定一組 DNS 記錄:MX 紀錄決定信要送到哪台伺服器,SPF 與 DKIM 紀錄則負責證明這封信真的是這個網域寄出的。免費信箱完全不用管這些,因為信箱掛在 Google 或 Yahoo 自己的網域下,底層的 DNS 設定早就由對方架好,公司對這些設定沒有置喙空間,也沒有調整的權利。

也因為網域信箱把 DNS 設定的責任交回公司自己手上,才需要一筆一筆把 MX、SPF、DKIM、DMARC 這幾種紀錄搞懂、填對。免費信箱省去了這道手續,卻也等於把整個信箱的掌控權讓給了服務商。

消費者對網域信箱的信任度明顯高於免費信箱

這種信任落差不是空談,而是有調查數字撐著。GoDaddy 在 2016 年委託市調機構 OnePoll 執行的一份消費者調查(針對 1,000 名美國成人)發現,75% 的受訪者認為信箱網域跟網站網址一致,是信任一家小型企業時的重要甚至極重要因素,33% 的受訪者表示,只要看到賣家用個人信箱聯絡,就會對這家店的可信度與合法性打上問號。這份調查是 2016 年做的美國消費者樣本,不代表台灣讀者的最新感受,但它點出的心理機制,陌生的個人信箱天然讓人多想一步,放到今天依然成立。

同一份調查還有一個容易被忽略的數字,24% 的受訪者表示,如果對方是用個人信箱聯絡,他們會猶豫要不要把自己的個人資料交出去。調查更指出,消費者心中有沒有用網域信箱的重要性,是有沒有經營社群媒體的三倍,換句話說,一個看起來很專業的粉專,抵不過一封來自 @gmail.com 的報價信扣的分。

GoDaddy 調查中 75% 的受訪者重視信箱網域與網址一致,33% 會懷疑用個人信箱的賣家,24% 會猶豫要不要交出個資
四分之三的受訪者把信箱網域與網站網址一致列為信任小型企業的重要因素(資料來源:GoDaddy)。

帳號歸屬與轉移的掌控權才是關鍵差異

信任只是看得到的那一層,底下更關鍵的是這個信箱帳號真正的擁有者是誰。網域是公司自己註冊、自己擁有的資產,不管背後用 Google Workspace、Microsoft 365 或哪一家服務商代管信箱,公司都能在員工離職的當下,直接停用或轉移那個帳號裡的所有信件,因為底層的網域主導權從頭到尾都在公司手上。免費信箱則相反,@gmail.com 這個網域的擁有權屬於 Google,公司完全無法回收或轉移一個個人 Gmail 帳號裡的信件記錄,員工帶著這個帳號離職,連同裡面所有的客戶往來紀錄也一起帶走了。

換信箱服務商時,這個差異會更明顯。如果一開始就用網域信箱,不管是從虛擬主機附贈的信箱換成全代管的雲端服務,還是反過來,公司只要改 DNS 裡的 MX 紀錄,把收信的目的地指向新的服務,所有員工的 email 地址完全不用變,客戶名片上、網站上留的信箱一個字都不用改。用免費信箱就沒有這個選項,換一次服務等於換一次地址,舊地址收不到新信,還得挨家挨戶通知客戶記得改聯絡方式。

免費信箱的網域與 DNS 由服務商掌握,公司網域信箱可自行設定記錄、回收離職員工帳號、換服務不換地址
兩種信箱的差距不只在門面,而是網域與帳號最後握在誰手上。

大型信箱服務把 SPF 與 DKIM 列為寄信基本門檻

除了信任與掌控權,還有一個更急迫的理由讓這些 DNS 紀錄非設不可,連 Gmail 這種用戶眾多的個人信箱服務,都已經把它們列為收信的基本條件。

所有寄件者都適用的基本驗證門檻

Google 從 2024 年 2 月 1 日起,針對所有想把信寄進 Gmail 個人帳戶(@gmail.com 或 @googlemail.com)的寄件網域,訂出一套基本規定,網域至少要設定 SPF 或 DKIM 其中一種驗證機制。這項規定不分公司規模,不管一天只寄十封信還是一千封信,只要收件人用的是 Gmail 個人帳戶,這道門檻都適用。同時,Google 也要求寄件者的垃圾郵件比率(在管理工具裡回報)維持在 0.3% 以下,超過這個比率,信件同樣容易被攔截。

不符合這項基本要求會發生什麼事?Google 的官方說明寫得很直接,未經驗證的郵件有可能被直接標示為垃圾郵件,或者因為出現 5.7.26 這個錯誤代碼而遭到拒絕,連送到收件人的垃圾信匣都做不到。對一家還在用免費信箱、或用網域信箱卻沒設定 SPF、DKIM 的公司來說,這代表寄出去的報價單、合約、通知信,有一部分可能根本沒有送達;被歸進垃圾信的那些,寄件端也不會收到任何提示,往往要等到客戶反映沒收到信才發現。

每日寄信超過五千封的加嚴規定

如果公司每天寄到 Gmail 帳戶的信超過 5,000 封,規定會再加嚴一階,這個門檻不算高,常態發電子報、定期寄行銷信或系統通知信的公司,很容易不知不覺就跨過去。Google 的規定是,超過這個量級的寄件者,SPF、DKIM、DMARC 三種驗證機制都要設定齊全,少一種都不合格。

DMARC 是這三者裡最晚出現、也最少人熟悉的一種,官方文件建議剛導入時把強制執行政策設為 none,先觀察、不處理。另外,如果公司會寄行銷性質的電子報或大量通知信,Google 也要求信件裡要有一鍵取消訂閱的機制,這部分屬於電子報寄送策略的範疇,牽涉到的內容更多,這裡只點出量大就要注意這件事。

寄到 Gmail 個人帳戶的信至少要設 SPF 或 DKIM,每天超過 5,000 封還要補齊 DMARC 與一鍵取消訂閱
所有寄件者都要先過 SPF 或 DKIM 這一關,量大的寄件者再加上 DMARC 與一鍵取消訂閱。

信箱服務方案的三種常見選擇

網域信箱要掛在哪個服務底下運作,是接下來要決定的事。常見的路線大致分成三種,各自的維運方式與適合的公司規模不太一樣,這裡只做中性介紹,不比較優劣,也不點名任何特定廠商。

全代管的雲端信箱服務

第一種,也是許多企業會選的路線,是像 Google Workspace、Microsoft 365 這類全代管的雲端信箱服務。運作邏輯很單純,先在服務裡建立公司帳號與員工信箱,再把公司的網域連接到這個服務上,收發信、行事曆、雲端硬碟這些功能全部交給服務商代管,公司唯一要做的事,是在網域的 DNS 設定裡照著指示加幾筆記錄。

這類服務通常內建了設定精靈,把 SPF、DKIM、DMARC 這些原本要手動查資料才填得對的紀錄,拆解成幾個步驟讓使用者跟著填。Microsoft 365 的官方文件提到,如果網域是跟其他業者申請的,可以透過更新該業者的 DNS 紀錄來連接服務,只要註冊商支援 Domain Connect 這套機制,系統甚至能自動確認網域所有權、自動新增需要的 DNS 紀錄,不支援的話才需要手動登入後台新增。至於費用,Google Workspace 與 Microsoft 365 都會依方案內容調整定價,實際金額請以兩家官方定價頁當下公告為準,這裡不寫死具體數字。

網域代管商或虛擬主機隨附的信箱功能

第二種路線,是很多公司一開始就會遇到的情況,網域是跟虛擬主機或網站代管方案一起買的,這類方案通常會附帶基本的信箱功能。設定方式跟全代管雲端服務不太一樣,多半是登入主機商後台的控制台(常見的介面像 cPanel),直接在裡面建立信箱帳號,DNS 記錄則往往已經預設好,或者由主機商代管。

這類隨附信箱的優點是不需要另外付月費,對剛起步、信箱數量不多的公司來說門檻最低;缺點是功能相對陽春,進階的垃圾信過濾、多人協作、行事曆共用這些功能通常做得不夠完整。另外,因為 DNS 記錄多半由主機商代管,公司自己能調整的彈性也比較小,未來要換成全代管雲端服務時,牽涉到的設定變動會比原本就自己掌控 DNS 的情況多一些。這裡不點名任何特定的主機商或虛擬主機品牌,也不比較哪一家附贈的信箱功能比較好用,實際使用前建議直接看該業者的方案說明。

自架郵件伺服器

第三種路線最進階,也是實務上最少公司會真的採用的做法,公司自己架設並維運郵件伺服器軟體,例如開源的 Postfix、Exim,把所有 DNS 設定與伺服器管理權都掌握在自己手上。理論上,這是掌控權最完整的一種選擇,公司可以決定伺服器架在哪裡、怎麼防禦垃圾信、怎麼調整每一項細節。

但這條路線相對應的代價也高。除了要自己處理垃圾信防禦、伺服器的安全更新,還得長期維護伺服器的 IP 信譽,一旦 IP 被列入黑名單,寄出去的信會大量被拒收,排查起來相當花時間。因此,自架郵件伺服器通常只出現在具備專職 IT 團隊、或對資料主權有特殊要求的公司(例如某些產業法規要求信件必須存放在自己管控的伺服器上),一般中小企業直接選前兩種路線的比例高得多。

三種方案在管理與資安責任上的取捨

不論選哪一種路線,有一件事逃不掉,不管信箱掛在誰的服務底下,公司都得面對要不要設定 SPF、DKIM、DMARC 這幾筆記錄的問題,差別只在於誰來扛設定的責任、誰提供輔助的工具。

全代管的雲端服務通常有設定精靈輔助,把出錯的機率降到最低;網域代管商或虛擬主機隨附的信箱,彈性最小,但公司自己要操心的地方也相對少;自架伺服器則是責任全部攬在自己身上,連最基礎的 DNS 記錄都要自己一筆一筆查資料填對。不論是哪一種,MX、SPF、DKIM、DMARC 這幾筆記錄背後的原理都是相通的,讀者可以直接對照自己選的那條路線,往下把每一筆記錄填對。

公司網域信箱的 MX、SPF、DKIM、DMARC 四筆 DNS 記錄各自的作用,以及以 example.com 為例的記錄值
MX 管信送去哪裡,SPF、DKIM、DMARC 三筆 TXT 記錄負責證明信是誰寄的、沒通過時怎麼處理。

設定 DNS 紀錄前,要先備妥的兩份清單

選好信箱服務之後,先別急著登入 DNS 後台改東西。網域怎麼買、怎麼辦理過戶是另一個階段的事,這裡假設網域已經在公司手上,要處理的是動手改信箱設定之前,還有哪些前置工作容易被忽略,卻會直接影響換信箱會不會斷信。

網域註冊商登入資訊與 DNS 管理介面

第一件事,是先確認自己要去哪裡改 DNS 記錄。很多人第一直覺是登入信箱服務的管理控制台(例如 Google 管理控制台),但 DNS 記錄通常不在那裡改,要改的地方是管理該網域 DNS 的後台,可能是當初申請網域的網域註冊商,也可能是另外委託代管 DNS 的服務。介面上常見的名稱包括「DNS 記錄」「網域設定」或「名稱伺服器管理」,登入後多半能找到一個列出所有現有記錄的畫面。

如果連自己的網域是跟哪家註冊商申請的都不確定,也不用太緊張,Google 與 Microsoft 的官方文件都有教怎麼查詢自己的網域註冊商,通常透過查詢網域的公開註冊資訊就能找到答案。先把這個登入介面確認清楚,後面每一筆 MX、SPF、DKIM、DMARC 記錄才有地方填。

信箱帳號建立順序,決定轉移期間會不會漏信

第二件事,也是新手最常忽略、卻最容易出問題的一步,是順序。很多人一拿到 DNS 的登入權限,就急著先把 MX 記錄改掉,結果新的信箱服務裡根本還沒有建立任何員工帳號,信件改道過去之後反而全部收不到,變成換信箱換到自己收不到信的窘境。

正確的順序是反過來,先在新的信箱服務裡,把所有需要用到的員工帳號與信箱都建立好,測試過確認能正常收發信,才回頭去改 DNS 的 MX 記錄。Microsoft 365 的官方文件對這點講得很明確,建議在更新 MX 記錄之前先在服務裡新增使用者並設定好信箱,確保郵件在從舊的服務轉移過來時能持續運作、不中斷。這裡還要留意一件事,MX 記錄一旦生效,新信件會全部導向新服務,但舊服務裡原本已經收到的舊信件不會自動搬過去,如果需要保留這些舊信件的歷史紀錄,得另外規劃信件遷移,這不在 DNS 設定的範圍內。也建議提前告知同事,近期信箱地址不會變、但底層的寄信服務會轉移,轉移期間如果暫時收信有延遲,不用誤以為是系統故障。

啟用信箱服務前,先用 TXT 紀錄驗證網域所有權

多數信箱服務,尤其是 Google Workspace,在正式讓一個網域使用服務之前,都會要求先證明這個網域真的是你的。原因很直覺,如果沒有這道驗證手續,任何人只要知道你的網域名稱,就能拿去申請信箱服務、冒充你的公司收發信,所以服務商會要求先做一次所有權驗證,才願意繼續往下開通。

驗證的操作邏輯不複雜,服務商會提供一段專屬的驗證文字,通常格式類似 google-site-verification= 加一長串字元,使用者只要把這段文字複製下來,登入網域的 DNS 管理後台,新增一筆 TXT 記錄、把值貼進去就完成操作。Google Workspace 的官方文件說明,這道手續是為了確保沒有其他人能透過你的網域申請 Google Workspace 服務,具體流程是在網域設定工具裡點選開始使用、選擇自己的網域代管商、複製官方提供的 TXT 記錄值,再登入網域管理後台新增這筆記錄。

這道驗證程序不是設完就馬上生效。新增的 TXT 記錄最慢可能要等 72 小時,DNS 系統才會辨識完成,所以急著在後台點選開始驗證按鈕之前,最好先確認 DNS 記錄本身已經生效發佈出去,免得看到尚未驗證的錯誤訊息就以為自己哪個欄位填錯了。很多教學文章會跳過這一段、直接跳去講 MX 記錄怎麼設,讀者照著操作容易卡在網域尚未驗證的畫面上,找不到問題出在哪。先把這道手續做完,才能正式進入 MX 記錄的設定。

MX 紀錄決定信件寄送的目的伺服器

驗證完網域所有權,終於要動手填第一筆真正決定信件怎麼寄送的記錄,MX(Mail Exchanger)紀錄。它的作用,是告訴全世界的郵件伺服器,寄到這個網域的信,應該交給哪一台伺服器處理。

MX 紀錄的名稱、優先順序、目標值

MX 記錄由幾個欄位組成:名稱(或稱主機)、優先順序、目標值,部分介面還會多一個 TTL 欄位。以 Google Workspace 為例,新標準只需要設定單一筆 MX 記錄,名稱/主機欄位留空或填 @(如果是子網域則填該子網域的值),優先順序填 1,目標值填 smtp.google.com,TTL 使用註冊商的預設值即可。要留意的是,部分網域註冊商的介面會要求目標值結尾多加一個句號,寫成 smtp.google.com. 這種格式,實際操作時以自己後台的欄位說明為準。

Microsoft 365 的設定入口則在系統管理中心裡的「設定」底下,找到「網域」、選擇要設定的網域、進入「DNS 紀錄」、點選「管理 DNS」,系統的精靈會列出需要新增的 MX 記錄,確認欄位內容之後授權新增即可。不管是哪一種服務,優先順序這個數字的意義都一樣,數字越低,代表這台伺服器越優先被使用;只有一筆 MX 記錄時這個數字看起來不太重要,但當網域同時存在多筆 MX 記錄時,這個數字就是決定信件先送到哪裡的關鍵。

汰換舊信箱服務時,MX 優先順序的雙軌設計

換信箱服務商的時候,不是把舊的 MX 記錄直接刪掉、換上新的就結束了。如果擔心轉移期間漏信,可以讓新舊兩筆 MX 記錄暫時並存一段時間,做法是把舊服務商的 MX 記錄優先順序數字設得比新記錄高(數字越大、優先度越低),等確認新服務已經穩定收信之後,再把舊記錄整筆刪除。

不過,官方的建議其實是不要拖太久。Google Workspace 明確建議設定完新的 MX 記錄之後,要刪除所有其他現存的 MX 記錄,避免郵件遞送出問題;Microsoft 365 的官方文件也提到,如果先前的信箱服務商已經有 MX 記錄存在,必須採取兩種做法之一,才能確保信件開始送達新服務:移除所有指向舊服務商的現有 MX 記錄,或者把舊服務商的 MX 記錄優先順序設得低於新記錄。換句話說,雙軌並存只是轉移期間的過渡手段,不是長期的設定方式,確認新服務穩定之後就該把舊記錄清乾淨。

SPF 紀錄用一行文字列出所有合法寄件者

MX 紀錄解決了信要寄去哪裡的問題,接下來 SPF(Sender Policy Framework)紀錄要解決的是另一個問題,怎麼證明這封信真的是被授權的伺服器寄出來的。

SPF 語法和 all 標記代表的意義

SPF 紀錄本質上是一筆 DNS 的 TXT 記錄,不是另外的記錄類型,它用一整行文字,列出哪些伺服器被授權可以用這個網域的名義寄信。以 Google Workspace 為例,官方提供的 SPF 記錄範例如下:

v=spf1 include:_spf.google.com ~allCode language: plaintext (plaintext)

這行字裡,v=spf1 標記固定放在最前面,代表這是一筆 SPF 版本 1 的記錄;include: 標記後面接的是被授權寄信的來源網域,官方文件說明每個授權的寄件者網域或 IP 位址前面都要加 include: 標記,一筆 SPF 記錄最多可以放 10 個 include: 標記。

最後的 ~all 是收尾標記,決定沒有列在授權名單裡的寄件伺服器該怎麼被對待。Google 的說明是,~all 會告知收件伺服器,如果一封信不是從 SPF 記錄裡列出的伺服器寄出的,就把這封信標示為垃圾郵件,換句話說,這行字等於是一份合法寄件者名單,加上一句名單外一律當可疑處理的宣告。設定完之後也不會立刻生效,Google Workspace 的官方文件提到,SPF 驗證功能最多可能要 48 小時才會開始運作,設定完馬上寄測試信驗證,很可能會看到誤導性的結果。

多個寄件來源合併成同一筆 SPF 紀錄

很多公司不會只用一種服務寄信,公司內部信箱用 Google Workspace,行銷用的電子報另外委託一家電子報平台寄送,網站上的聯絡我們表單送出後也會自動寄一封通知信。這些不同的寄件來源,都要合併寫進同一筆 SPF 記錄裡,而不是各自建一筆,因為 DNS 對同一個網域只認一筆有效的 SPF TXT 記錄,建立兩筆會互相衝突、導致驗證失效。

Google Workspace 的官方文件提供了幾種常見組合的寫法可以直接參考,例如同時使用 Google Workspace 和 Microsoft Office 365 的公司,SPF 值可以寫成:

v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~allCode language: plaintext (plaintext)

同時使用 Google Workspace 和 Mailchimp 寄行銷信的公司,則寫成:

v=spf1 include:_spf.google.com include:servers.mcsv.net ~allCode language: plaintext (plaintext)

這裡只講合併的原理與示範寫法,電子報平台在驗證機制上還有更多眉角,這裡不多做展開。

十筆 DNS 查詢上限與常見超標情境

這是很多公司踩過、卻不知道原因的一個雷。SPF 標準規定,一筆記錄最多只能觸發 10 次 DNS 查詢,include、a、mx、redirect、exists 這幾種標記都各算一次查詢,ip4 與 ip6 則不算在內。超過這個上限,不是只有超出的那部分失效,而是整筆 SPF 記錄直接判定失敗,等於前面辛苦合併寫好的授權名單全部作廢。公司陸續加了好幾個第三方寄信服務,每加一個就多一個 include: 標記,很容易不知不覺就超標。

英國政府的網路安全機關(UK Government Security)在官方知識庫裡提醒,SPF 標準只允許最多 10 次 DNS 查詢,超過這個限制,SPF 的驗證處理可能會直接失敗;應該讓 SPF 記錄的查詢次數維持在 10 次或以下才符合規範,並檢視記錄裡是否有不再需要的 a、mx 或 include 陳述式可以移除或合併。如果懷疑自己的 SPF 記錄已經超標,排查的方向是先用線上工具檢查目前實際觸發了幾次查詢,再回頭看有沒有已經不再使用的第三方服務忘記從 include 裡拿掉。

DKIM 靠公私鑰配對驗證郵件內容沒被竄改

SPF 驗證的是寄信的伺服器有沒有被授權,DKIM(DomainKeys Identified Mail)要做的事不一樣,它在每一封信上加一段用私鑰簽署的數位簽章,讓收信端能驗證這封信有沒有在半路被竄改過、真的是這個網域寄出來的。兩者是互補關係,不是二選一的替代品。

產生 DKIM 金鑰時,位元長度與前置字元的選擇

設定 DKIM 的第一步,是產生一組公私鑰配對,這裡會遇到兩個選項。第一個是金鑰的位元長度,Google Workspace 的官方電子郵件寄件者指南提到,要傳送郵件到個人 Gmail 帳戶,DKIM 金鑰長度至少要達到 1024 位元以上,但基於安全考量,只要網域供應商支援,一律建議選用 2048 位元的金鑰,位元數越長,金鑰被破解的難度越高。

第二個選項是前置字元選擇器(selector),它會決定 DKIM 記錄之後的命名方式。Cloudflare 的說明文件解釋,DKIM 記錄的名稱固定遵循「選擇器._domainkey.網域」這樣的格式,選擇器則是由電子郵件服務供應商發出的特定值。如果同一個網域之前已經設定過一組使用相同前置字元的 DKIM 記錄,產生新金鑰時要換一個不同的前置字元,避免新舊兩組記錄互相衝突。

公開金鑰寫入 TXT 紀錄,私鑰留在寄件伺服器

金鑰配對產生之後,公開金鑰與私鑰的分工是固定的。公開金鑰要寫進 DNS 的 TXT 記錄裡,讓全世界的郵件伺服器都能查得到;私鑰則完全不會、也不應該出現在 DNS 裡,它會留在寄件伺服器(或信箱服務的後台)裡,用來為每一封外寄的信件加上簽章。

以 Google Workspace 為例,官方文件會提供兩個要填的欄位:DNS 主機名稱(也就是 TXT 記錄的名稱,常見格式類似 google._domainkey),要新增到網域供應商後台的 TXT 記錄名稱欄位裡;TXT 記錄值則是一長串以 v=DKIM1 開頭、後面接 p= 公開金鑰字串的文字,要貼進 TXT 記錄的值欄位。要留意的是,部分網域供應商對 TXT 記錄的長度有限制,如果貼上去出現錯誤或被截斷,需要另外查證該供應商對長字串 TXT 記錄的處理方式。

驗證 DKIM 是否生效的方法和等待時間

DKIM 金鑰設定完不會馬上就能驗證。Google Workspace 的官方說明提到,為機構啟用 Gmail 之後,通常要等候 24 到 72 小時,才能在管理控制台裡真正取得 DKIM 金鑰;新增金鑰之後,DKIM 的驗證功能最多還要再等 48 小時才會開始運作。

驗證方式也有個容易踩的坑,官方特別提醒,不能用寄信給自己的方式測試 DKIM 有沒有生效,必須寄一封信給外部的 Gmail 或其他網域帳號,再到收件端打開這封信的完整郵件標頭,尋找 Authentication-Results 這一行,裡面應該會顯示類似 DKIM=pass 或 DKIM=OK 的結果,才代表 DKIM 真的設定成功、開始運作。

DMARC 政策從監控到攔截的三個階段

SPF 與 DKIM 是前兩塊拼圖,最後一塊要靠 DMARC(Domain-based Message Authentication, Reporting and Conformance)補上。它要回答的問題是,一封信如果沒通過 SPF 或 DKIM 驗證,收信端該怎麼處理。同時,它也能讓公司收到報表,知道有沒有人正在冒用自己的網域寄信。

DMARC 記錄的語法、p 標記的三種設定值

DMARC 記錄一樣是一筆 TXT 記錄,以下依 Google Workspace 官方範例改寫(官方原例的 rua 列了兩個報表信箱,這裡簡化成一個):

v=DMARC1; p=reject; rua=mailto:[email protected]; pct=100; adkim=s; aspf=sCode language: plaintext (plaintext)

這行字裡最關鍵的是 p= 這個標記,它指示收件伺服器該怎麼處理沒通過驗證的信,有三種可能的值。

p=none 代表只監控、不影響信件的實際傳遞,適合剛開始導入 DMARC、還在觀察狀況的階段;p=quarantine 會把未通過驗證的信導入垃圾信匣;p=reject 則是最嚴格的選項,直接拒收未通過驗證的信,風險也最高,如果公司還有一些寄信來源沒被 SPF 或 DKIM 涵蓋到,設成 reject 可能連自己人的合法信件都會被擋下來。官方文件也提到,如果網域有導入 BIMI(在收件匣顯示品牌標誌的機制),p 標記就不能設為 none,這是額外的附帶條件。

收件伺服器先查 SPF 授權名單並用公開金鑰驗證 DKIM 簽章,再依 DMARC 的 p 標記處理沒通過驗證的信
SPF 與 DKIM 負責檢查,DMARC 負責決定沒通過的信該監控、進垃圾信匣還是直接拒收。

接收報表的信箱地址,rua 標記的實務用法

rua 標記後面接的是接收 DMARC 報表用的信箱地址,格式固定寫成 mailto: 加信箱地址。這個標記在記錄裡是選用的,不填也能讓 DMARC 正常運作,但 Google Workspace 的官方文件建議一律加上它,原因很直接,不設定 rua,DMARC 政策雖然生效了,公司卻完全不知道每天有多少信件沒通過驗證,也不知道有沒有人正在冒用自己的網域寄詐騙信,等於憑感覺在調整政策。

官方也提醒,規模比較大的機構,一天可能會收到幾百甚至上千份報表,建議額外建立一個專門接收 DMARC 報表的群組信箱或共用信箱,不要直接用某個人的個人信箱接收,免得報表淹沒在一般的工作信件裡。

設定順序不能顛倒,SPF 與 DKIM 要先穩定運作

這是整篇 DNS 設定裡最容易被跳過、卻最容易出事的一個環節,順序。DMARC 是建立在 SPF 和 DKIM 的驗證結果之上運作的,如果這兩者都還沒設好、或設定還不穩定,DMARC 根本無從判斷一封信有沒有通過驗證。Google Workspace 的官方文件明白寫著,必須先開啟網域的 SPF 和(或)DKIM,才能使用 DMARC;如果沒有先設定好這兩者就啟用 DMARC,從網域寄出的郵件反而可能出現傳送問題。

官方建議的具體做法是,設定好 SPF 和(或)DKIM 之後,先等候 48 小時,確認這兩者穩定運作,再回頭設定 DMARC。急著把 DMARC 一次設成最嚴格的 reject,是最常見的出包原因,常發生在有些第三方寄信服務(例如某個表單通知信、某個行銷平台)還沒被納入 SPF 的授權名單裡,DMARC 一旦嚴格執行,連公司自己合法的信都被自己的政策擋下來。

設定完成後,三種方法確認紀錄已經生效

MX、SPF、DKIM、DMARC 都設定完,接下來要確認的是有沒有真的設對。確認的方向大致有三個:寄一封測試信檢查郵件標頭、用免費工具查詢 DNS 紀錄本身是否正確發佈,以及抓對紀錄真正生效前的等待時間。

寄測試信並檢查郵件標頭裡的驗證結果

最直接的驗證方式,是實際寄一封信出去,看收件端怎麼判讀。前面 DKIM 那節提過,測試信要寄給外部的 Gmail 或其他網域帳號,不能只寄給自己的信箱,否則看不出 DKIM 有沒有真的生效。

寄出之後,到收件端打開這封信,找到顯示原始郵件或郵件標頭這類功能(不是一般顯示的內文畫面),裡面會有一段 Authentication-Results。這一行會列出 SPF、DKIM 各自的驗證結果,只有兩者都顯示 pass,才代表這封信在寄送過程中順利通過了驗證機制,設定是成功的。

用免費線上工具檢查 DNS 紀錄是否正確發佈

除了寄測試信,也可以直接查詢 DNS 記錄本身有沒有正確發佈到全球的 DNS 系統上,不用等到寄信才發現問題出在哪。這類查詢工具可以直接看到目前對外顯示的 MX、SPF(TXT)、DKIM(TXT)、DMARC(TXT)記錄內容。

Google 自己也提供了診斷工具給網域管理者使用,官方在 MX 記錄的設定文件裡提到,可以用 Admin Toolbox Dig 工具診斷 MX 記錄是否正確發佈;電子郵件寄件者指南裡也提到,可以使用 Google Admin Toolbox 來檢查及修正網域的相關設定。查到的內容如果跟自己在 DNS 後台填的不一樣,通常代表記錄還沒生效,或者某個欄位填錯了。

DNS 異動生效前,48 到 72 小時的等待時間

把散落在前面各節的等待時間集中起來看,會發現一個共通的現象,DNS 異動幾乎都不是馬上生效,設定完立刻測試失敗是正常現象,不用緊張。MX 記錄的變更最長需要 72 小時才會生效;SPF 的驗證功能最多需要 48 小時才會開始運作;DKIM 金鑰新增之後最多 48 小時才會開始運作,而 Google Workspace 在機構啟用 Gmail 之後,更是要等 24 到 72 小時才能真正取得 DKIM 金鑰;至於前面驗證網域所有權用的 TXT 記錄,官方文件寫的是最慢 72 小時內辨識完成。

TXT 驗證與 MX 變更最長要等 72 小時,SPF 與 DKIM 驗證最多 48 小時才開始運作
DNS 異動幾乎都不是馬上生效,設定完隔一兩天再測試比較不會誤判(資料來源:Google)。

實務上比較保險的做法,是設定完當天先用工具確認 DNS 記錄本身已經正確發佈,隔一天甚至隔兩天,再回頭寄測試信、點選驗證按鈕。急著在設定完的當下就判定失敗了、是不是哪裡填錯,常常只是還沒到生效時間,反而讓自己在還沒出錯的地方多繞了一圈。

常見的 DNS 設定錯誤與排查方向

前面把每一筆記錄怎麼設定都講過一輪,這裡收尾整理三個最容易出錯、又最容易被誤判成其他問題的狀況,對照自己的設定,可以少走一段排查的冤枉路。

舊 MX 紀錄沒清乾淨,導致信件分流到兩個伺服器

這是換信箱服務時最常見的錯誤。設定了新的 MX 記錄之後,忘記刪除或降低舊記錄的優先順序,結果部分信件還是被寄到舊伺服器,員工誤以為信件遺失或系統故障,實際上信件只是散落在兩個地方,沒有人固定去看舊的那一邊。

這個狀況的典型症狀是部分信件收得到、部分收不到,看起來像隨機掉信,其實原因單純,新舊兩筆 MX 記錄同時存在,而且優先順序沒設對。排查方向是用 DNS 查詢工具檢查目前對外生效的 MX 記錄,確認是不是只剩新的那一筆(或者優先順序確實正確),前面 MX 紀錄那節提到 Google Workspace 要求刪除所有其他現存的 MX 記錄、Microsoft 365 建議移除或降低舊記錄優先權,說的就是這件事。

SPF 超過十筆查詢限制的整併做法

對應前面提過的十筆查詢上限,這裡講實際排查時該怎麼動手。第一步是用線上工具檢查目前的 SPF 記錄實際觸發了幾次 DNS 查詢,確認有沒有真的超標;如果超標,回頭檢視記錄裡有沒有已經不再使用的第三方服務,把對應的 include: 標記直接刪除。

英國政府網路安全機關的官方頁面也提供了另一個思路,考慮把某些會寄信的服務改用子網域承接,這些子網域可以擁有自己獨立的 SPF 記錄,不需要納入主網域的 SPF 記錄裡,等於把查詢次數分散出去,不會全部疊加在同一筆記錄上。同類型服務能不能合併成一個 include 也值得檢查,有些公司會不小心對同一家服務重複列了兩次。

DKIM 金鑰還沒生效就急著驗證,收到錯誤訊息

對應前面 DKIM 生效等待時間那節,這裡講讀者實際會遇到的情境,剛產生完 DKIM 金鑰,馬上回到管理控制台點選驗證,畫面持續顯示必須更新此網域的 DNS 記錄這類錯誤訊息,很容易讓人誤以為自己是不是哪個欄位填錯了。

Google 官方的 DKIM 設定文件其實有特別提醒,管理控制台的驗證電子郵件頁面可能會持續顯示這則錯誤訊息長達 48 小時,這是正常現象,不代表設定真的有問題。正確的處理方式是先用 DNS 查詢工具確認記錄本身確實已經發佈出去,再耐心等過官方建議的時間之後才重新驗證;如果等待時間過了,驗證依然失敗,才需要回頭仔細檢查 TXT 記錄的主機名稱與內容字串,是不是在複製貼上的過程中漏了字元或多了空格。

把 MX、SPF、DKIM、DMARC 這幾筆記錄一一設定好,公司網域信箱要處理的技術門檻大致就走完了。剩下的多半是耐心,等 DNS 生效、觀察報表、確認新舊服務交接時沒有漏信。信任這件事的累積很慢,一封來自陌生免費信箱的報價單,可能光是寄件人那一格就先讓客戶遲疑;而一組設定完整的 DNS 記錄,做的不只是讓信準確送達,也在背後悄悄告訴每一個收到信的人,這家公司值得多信一分。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

公司網域信箱跟免費信箱差在哪裡?

公司網域信箱的 @ 後面接的是公司自己擁有的網域,免費信箱則掛在 Google 或 Yahoo 的網域下。用網域信箱,員工離職時公司能停用或轉移帳號裡的信件,換服務商也只要改 MX 紀錄,信箱地址不用變。

Gmail 對寄件網域有哪些驗證要求?

Google 從 2024 年 2 月 1 日起,要求寄信到 Gmail 個人帳戶的寄件網域至少設定 SPF 或 DKIM 其中一種。每天寄到 Gmail 超過 5,000 封的寄件者,SPF、DKIM、DMARC 三種都要設定齊全。

換信箱服務要先建帳號還是先改 MX 紀錄?

換信箱服務要先在新服務建立好員工帳號並測試能正常收發,再改 MX 紀錄,否則信件導過去會因為沒有帳號而收不到。MX 紀錄生效後舊服務裡的舊信件不會自動搬過去,要保留就得另外規劃信件遷移。

一個網域可以設定兩筆 SPF 紀錄嗎?

一個網域只能有一筆 SPF 紀錄,DNS 對同一個網域只認一筆有效的 SPF TXT 記錄,建立兩筆會互相衝突、導致驗證失效。公司有多個寄件來源時,要把各自的 include: 標記合併寫進同一筆 SPF 記錄。

DMARC 可以一開始就設成 reject 嗎?

DMARC 不建議一開始就設成 p=reject,要先確認 SPF 與 DKIM 穩定運作 48 小時,再從只監控的 p=none 開始。若還有第三方寄信服務沒納入 SPF 名單,設成 reject 連公司自己的合法信件都可能被擋。

資料來源
  1. Consumer Trust In Online Small Businesses Strengthened By Professional Email — GoDaddy
  2. Email sender guidelines — Google
  3. Set up MX records for Google Workspace — Google
  4. Set up SPF — Google
  5. Set up DKIM — Google
  6. Set up DMARC — Google
  7. Verify your domain with a TXT record — Google
  8. Identify your domain registrar — Google
  9. Connect your domain by adding DNS records — Microsoft
  10. Find your domain registrar — Microsoft
  11. What is a DNS DKIM record? — Cloudflare
  12. SPF: DNS lookups over limit — UK Government Security