重點摘要
- DKIM 使用私密金鑰簽署外寄郵件,並把公開金鑰放在 DNS 中,讓收件端能驗證簽章。
- 這個產生器會依電子郵件服務商提供的 selector,產生 DNS 主機名稱與 TXT 值的格式。
- 發布後,請使用 DKIM 檢查工具檢查,並在寄送活動前確認 SPF 與 DMARC 對齊。
產生 DKIM DNS 紀錄
常見 selector:google、s1、s2、mail、selector1、selector2
可從您的電子郵件寄送服務取得(Google Workspace、SendGrid、Postfix 等)
DKIM 的運作方式
您的郵件伺服器以私密金鑰簽署外寄郵件。收件端伺服器從 DNS 取得您的公開金鑰並驗證簽章,藉此證明郵件在傳輸途中未遭竄改。
找到您的公開金鑰
您的 ESP(Google Workspace、Microsoft 365、SendGrid、Mailgun)會產生金鑰組,並提供要發布在 DNS 中的公開金鑰。格式如下: v=DKIM1; k=rsa; p=YOUR_PUBLIC_KEY
如何正確準備 DKIM 紀錄
DKIM 紀錄發布在 selector 之下,而不是直接放在網域根目錄。selector 是電子郵件服務選定的簡短標籤,例如 google, selector1, s1,或mail。完整的 DNS 主機通常長這樣:selector._domainkey.example.com。TXT 值包含與郵件服務所用私密簽署金鑰相對應的公開金鑰。
當寄件服務提供了 selector 與公開金鑰,但 DNS 服務商需要整齊、可直接複製貼上的格式時,就使用這個產生器。貼上 base64 公開金鑰時,請去掉憑證的開頭與結尾行。產生的值會採用標準的 DKIM TXT 格式,包含v=DKIM1、金鑰類型與公開金鑰。
不要自行編造公開金鑰。用來簽署郵件的私密金鑰由寄送平台掌控,因此公開金鑰必須來自該平台。若您自行管理郵件伺服器,請在伺服器上產生金鑰組,只把公開金鑰發布到 DNS。妥善保管私密金鑰,並在存取權限變動時輪替金鑰。
從電子郵件平台或郵件伺服器設定中複製 selector 與公開金鑰。
輸入 selector、網域與公開金鑰,再複製產生的 TXT 紀錄值。
發布 TXT 紀錄,待 DNS 更新後用 DKIM 檢查工具確認。
DKIM 搭配 SPF、DMARC 與乾淨的寄送資料效果最好
DKIM 證明已簽署的郵件與寄件網域的公開金鑰相符,但送達率仍取決於整體設定。 SPF 用來識別獲准的寄件者。 DMARC 則定義信箱服務商該如何處理驗證失敗,以及 SPF 或 DKIM 是否與顯示的寄件者(From)網域對齊。
寄件者驗證設定完成後,也要維持收件者名單健康。即使郵件已簽署,若地址過時或無效仍可能退信。寄送較大型活動前,請先透過大量驗證驗證 CSV,並盡量將退信率維持在 3% 以下。若退信率進入 3-5% 範圍,請在下次寄送前清理名單;高於 5% 則為高風險。
實用的 DKIM 設定檢查清單
發布 DKIM 紀錄前,先確認 selector 屬於實際簽署郵件的同一個寄件服務。許多團隊會為 Google Workspace 使用一個 selector、為 Microsoft 365 使用另一個,並為 SendGrid、Mailgun、Postmark 或 Amazon SES 等平台各自設定 selector。分開 selector 能讓除錯更清楚,因為您能辨識每把金鑰屬於哪個服務。
發布後,等待 DNS 傳播再檢查 selector。若紀錄已可見,郵件卻仍未通過 DKIM,請寄一封測試郵件並檢查驗證標頭,就能知道寄件端是否使用預期的 selector 簽署,還是仍在使用舊金鑰。
DKIM 產生器常見問題
什麼是 DKIM selector?
selector 是用來在 DNS 中找到 DKIM 公開金鑰的標籤。它讓一個網域能發布多把 DKIM 金鑰,適合分開的寄件服務或金鑰輪替。
在哪裡可以找到我的 DKIM 公開金鑰?
由您的電子郵件寄送平台或郵件伺服器產生。請在該服務的網域驗證、寄件者驗證或 DNS 設定區查看。
應該把私密金鑰發布到 DNS 嗎?
不應該。DNS 只放公開金鑰,私密金鑰留在負責簽署外寄郵件的寄送系統中。
可以讓所有寄件服務共用一把 DKIM 金鑰嗎?
有時可以,但當不同平台為同一網域寄信時,分開 selector 會更清楚,也讓輪替與除錯更容易。