DKIM (DomainKeys Identified Mail) 的原理是對發出去的郵件進行簽署,並且將簽署用的公鑰設定於 DNS 中,使郵件在發送時,讓伺服器可以利用 DNS 查詢來確定簽署是有效的。

本文只介紹 AWS SES 和 Gmail 的 DKIM 設定。若您是用 AWS SES 來發送郵件的話,則需要設定 AWS SES 的 DKIM。若您是用 gmail 的服務以公司電子網域來發送電子郵件,例如寄件者為 xxxx@5fpro.com ,則需要設定 Gmail 的 DKIM。

AWS SES 的 DKIM 設定非常簡單,只要選 easyDKIM 即可,若 DNS 也是透過 route53 設定的話,在 SES console 內一鍵就可以完成 route53(DNS) 設定。

Gmail 的 DKIM 則可參考此篇官方教學。必須先在 Google workspace 後台內產生好簽署用的金鑰,產生完畢後再將公鑰內容設定到 DNS 中,這裡需要注意,google 後台產生的 DNS 設定內容會有斷行的情況,設定到 DNS (TXT record) 的過程中可能會因為格式問題發生錯誤,只要將斷行的部份都連成一行即可,另外 TXT 的 DNS 會有長度限制,因此產生 2048 長度的金鑰可能會無法設定,參考官方提供的問題排解方式,或直接產生 1024 長度的金鑰即可。

DKIM 和 SPF 都是發送郵件不可或缺的設定,有關 SPF 的設定可參考此篇文章

DKIM 檢測工具: