本文主要介紹什麼是DKIM以及如何添加。
一、DKIM
DKIM(DomainKeys Identified Mail)是一種電子郵件驗證方法,用於協助檢測電子郵件中的偽造和篡改行為,以此來提高郵件的安全性和信任度。這種技術允許寄件者通過使用數位簽章來證明郵件確實是由其聲稱的發件網域名稱所發送,並且郵件的內容沒有在傳輸過程中被篡改。
二、如何擷取記錄值
郵箱管理員登入管理後台,依次進入企業定製--網域名稱管理--網域名稱設定,點擊查看詳情。

點擊複製,擷取DKIM記錄值。
說明不同網域名稱的主機記錄和記錄值是不一樣的,請前往您的郵箱管理後台擷取郵箱網域名稱的資料。
加密位元有1024和2048,根據不同網域名稱管理平台要求選擇適當的值,一般都支援,切換後原記錄值失效,請確保使用最新記錄配置到網域名稱的DNS解析中。
觸發生效條件:請切換到其他功能選項,再切換回網域名稱管理功能,用以觸發DKIM服務端加簽生效。

三、如何添加
以阿里雲網域名稱解析控制台為例(其他服務商請登入對應控制台修改):
1、登入Alibaba Cloud DNS控制台;
2、點擊網域名稱,進入解析設定頁面;
3、在解析設定頁面中,點擊添加記錄按鈕,建立TXT記錄;
4、TXT記錄的添加規則,主機記錄為輸入default._domainkey;
5、TXT記錄值v=DKIM1; g=*; k=rsa; p=......(注意如下記錄為一整行)。
下圖為添加DKIM記錄樣本:
四、DKIM簽名文法說明
當一封電子郵件被發送時,如果啟用了DKIM,發送伺服器會為郵件添加一個DKIM簽名頭部。這個DKIM簽名包括了用於驗證郵件的資訊,其中關鍵的部分包括簽名(使用私密金鑰產生)和選取器(selector)。選取器是用來識別特定的DKIM公開金鑰記錄的一個唯一的字串標識。
這裡是一個典型的電子郵件中的DKIM簽名頭部樣本:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=default; c=relaxed/relaxed;
h=from:to:subject:date:message-id; i=@example.com;
bh=...; b=...;在這個頭部中:
v=1表示DKIM版本。a=rsa-sha256表示簽名演算法。d=example.com表示發送域。s=default表示用於簽名的選取器。c=relaxed/relaxed表示正常化演算法。h=from:to:subject:date:message-id表示被簽名的頭部欄位。i=@example.com表示簽名身份。bh=後面的部分是郵件內文的雜湊值。b=後面的部分是簽名本身。
當收信方伺服器接收到這封電子郵件時,它會查看DKIM-Signature頭部,找到d=(域)和s=(選取器)的值。這兩個值告訴收信方伺服器去哪個DNS記錄中尋找相應的公開金鑰。
收信方伺服器會根據發送域(d=example.com)和選取器(比如default)構造一個DNS查詢,形如:
default._domainkey.example.com然後收信方伺服器查詢這個DNS記錄,擷取公開金鑰,用這個公開金鑰來驗證簽名b=的有效性。如果簽名驗證成功,那麼可以認為這封郵件確實來自聲稱的域,並且在傳輸途中未被篡改。
如果一個網域名稱有多個發送源,每個源都應該使用不同的選取器,這樣收信方就可以通過每封郵件的DKIM-Signature頭部中的選取器來找到正確的公開金鑰。