什麼是 DKIM(網域金鑰識別郵件)?
DKIM 是 DomainKeys Identified Mail(網域金鑰識別郵件)的縮寫,是一種電子郵件驗證方法,會為每封寄出的郵件附加加密簽章。收件伺服器可透過這個簽章,確認郵件確實由寄件網域授權,且內容在傳送途中未遭竄改。
定義
DomainKeys Identified Mail(DKIM)是現代電子郵件身分驗證的三大支柱之一,與 SPF 和 DMARC 共同運作。SPF 回答的是「這封郵件是否來自經授權的伺服器」,DKIM 則回答兩個略有不同的問題:一是確認這封郵件已獲得掌控寄件網域者的核准,二是確認郵件寄出後沒有被任何人竄改。
DKIM 透過公開金鑰加密達成這個目的。寄件網域持有一把私密金鑰,安全保存在自家的郵件基礎架構中,並在網域名稱系統(DNS)公布一把對應的公開金鑰,供任何人讀取。網域寄出郵件時,郵件伺服器會用私密金鑰針對郵件的特定部分產生數位簽章,再以隱藏標頭的形式加入郵件中。郵件送達後,收件伺服器會從 DNS 取得公開金鑰來檢查簽章。由於只有私密金鑰的持有者才能產生可被公開金鑰驗證的簽章,因此 DKIM 檢查通過,就是郵件真實且完整的有力證據。
運作方式
DKIM 仰賴一組加密金鑰。系統會為網域產生一把私密金鑰,安全存放在寄件郵件系統中,而對應的公開金鑰則以 DNS TXT 記錄的形式公布。這筆記錄位於一個由「選擇器」(selector)標籤組成的特殊位置,格式為 selector._domainkey.yourdomain.com。選擇器的用途是讓同一網域能同時公布多把金鑰,方便為每個寄件服務指派各自的金鑰,也能安全地定期輪替金鑰。
網域寄出郵件時,郵件伺服器會選定要保護郵件的哪些部分。內容一定包含郵件本文,以及一組選定的標頭欄位,常見的有 From、To、Subject、Date 等。伺服器會分別計算本文的雜湊值與所選標頭的雜湊值,再用私密金鑰對這些資料簽署,產生簽章。這一切都記錄在名為 DKIM-Signature 的新標頭中,並加入郵件。此標頭以 d= 標籤記錄簽署網域、s= 標籤記錄選擇器、h= 標籤列出已簽署的標頭、bh= 標籤記錄本文雜湊值,而簽章本身則放在 b= 標籤中。
在收件端,伺服器會讀取 DKIM-Signature 標頭,取得網域與選擇器,再到 DNS 查詢對應的公開金鑰記錄。接著它會依照 h= 所列的同一組標頭,重新計算本文雜湊值與標頭雜湊值,並用公開金鑰驗證 b= 中的簽章是否與重新計算的資料相符。只要使用的是正確的私密金鑰,且簽署內容在傳輸途中沒有被更動,簽章就會驗證成功,DKIM 即為通過。只要任何已簽署的標頭或本文遭到修改,雜湊值就不再相符,檢查便會失敗。實務上要注意的是,簽章只涵蓋明確列出的標頭,而且只有在中繼郵件系統沒有更動郵件已簽署部分的情況下,簽章才會維持有效。
對電子郵件送達率的重要性
對信箱服務供應商而言,DKIM 是一項強而持久的信任訊號。持續有效的 DKIM 簽章,等於告訴供應商這些郵件背後有真實網域,且願意為其負責,有助於郵件順利進入收件匣。同樣重要的是,DKIM 具備 SPF 所沒有的特性:簽章隨郵件本身傳遞,而不是仰賴連線的伺服器,因此 DKIM 通常能在郵件轉寄後依然有效,SPF 則常在轉寄時失效。這讓 DKIM 在複雜的投遞路徑中,成為兩項檢查裡更耐用的一項。
DKIM 也是 DMARC 的基礎元件。只要 SPF 或 DKIM 其中之一通過,且結果與顯示的 From 網域一致,DMARC 就會通過,因此經過正確 DKIM 簽署的郵件,能為網域提供一條可靠的 DMARC 對齊途徑。自 Google 與 Yahoo 於 2024 年推出寄件者規範以來,大量寄件者都必須同時以 SPF 和 DKIM 進行驗證,沒有有效 DKIM 簽章的郵件被過濾或拒收的機率高出許多。對任何大規模寄送電子郵件的人來說,正確設定 DKIM 已從最佳實務變成基本要求。
VeriMails 如何處理
DKIM 與電子郵件驗證從兩個不同方向保護送達率,健全的電子郵件計畫兩者缺一不可。DKIM 驗證您寄出的郵件,向收件伺服器證明郵件真實且未遭竄改;電子郵件驗證則清理您的寄送對象,確保名單上的每個地址都真實存在且可送達。只做寄件驗證卻沒有乾淨的名單,仍會產生退信;名單乾淨卻沒有寄件驗證,看起來依然不值得信任,所以兩者必須搭配運作。
VeriMails 專注於其中的收件端。您提交的每個地址都會經過語法驗證、MX 與 DNS 查詢、即時 SMTP 交握、Catch-all(全收)偵測、拋棄式地址偵測及職能信箱偵測,剔除原本會退信的無效地址,避免損害 DKIM、SPF 與 DMARC 記錄所要守護的信譽。為了同時支援寄件驗證這一端,VeriMails 也提供免費的 DKIM 產生器,可建立金鑰組以及您需要公布的 DNS 記錄。您可以透過 REST API 或大量上傳 CSV 來驗證名單,並取得清楚的送達率分類,作為行銷活動決策的依據。驗證費用每封電子郵件低至 $0.0019,10,000 點只要 $19,年繳方案每月 $12.50 起;每個帳號一開始都有 100 點免費點數,無需信用卡,而且永不過期。