本文主要介紹什么是DKIM以及如何添加。
前置概念
閱讀本文前,您可能需要了解如下概念:什么是DNS?
一、DKIM
DKIM(DomainKeys Identified Mail)是一種電子郵件驗證方法,用于幫助檢測電子郵件中的偽造和篡改行為,以此來提高郵件的安全性和信任度。這種技術允許發件人通過使用數字簽名來證明郵件確實是由其聲稱的發件域名所發送,并且郵件的內容沒有在傳輸過程中被篡改。
二、如何獲取記錄值
郵箱管理員登錄管理后臺,依次進入企業定制--域名管理--域名設置,點擊查看配置方法。
點擊復制,獲取DKIM記錄值。
不同域名的主機記錄和記錄值是不一樣的,請前往后臺獲取自己對應域名的數據。
三、如何添加
DKIM通過DNS中的TXT記錄配置實現,所以TXT需要首先生效。
此TXT記錄中具體的“主機記錄”和“記錄值”均需要您聯系您的郵件提供商提供,如下操作步驟內容僅供參考。
操作步驟示例:
1、登錄云解析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
頭部中的選擇器來找到正確的公鑰。