1. 概要
メールサーバに「DKIM」の証明を与えるのは、「DNS」サーバの役目です。
「DKIM」レコードの書き方について記述します。
認証用の鍵ペアの生成や、メールサーバ側の設定については、「メールサーバ(postfix)- 認証情報(SPF・DKIM)」をご参照ください。
2. 鍵の生成
以下の作業で、「opendkim」というソフトウェアを使用します。
「opendkim」のインストールに関しては、「メールサーバ(postfix)- 認証情報(SPF・DKIM)」をご参照ください。
「example.com」と「sub.example.com」という、メインのドメインとサブドメインの鍵ファイルを作成するとします。
鍵を置く、ディレクトリを。
/usr/local/etc/opendkim/keys
として、2つのディレクトリを作成します。
mkdir -pv /usr/local/etc/opendkim/example.com
mkdir -pv /usr/local/etc/opendkim/sub.example.com
それぞれの鍵ファイルを作成します。
opendkim-genkey -D /usr/local/etc/opendkim/example.com -s mail -d example.com
opendkim-genkey -D /usr/local/etc/opendkim/sub.example.com -s mail -d sub.example.com
この結果、下記のファイルが作成されます。
/usr/local/etc/opendkim
|-- sub.example.com
| |-- mail.private
| `-- mail.txt
`-- example.com
|-- mail.private
`-- mail.txt
3. 設定
「zone」ファイルに、下記のように記述します。
mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=..."
mail._domainkey.sub.example.com. IN TXT "v=DKIM1; k=rsa; p=..."
「p=...」の中身は、それぞれのキーファイルの「mail.txt」の「p=」の内容をそのまま書き写してください。
(「p=」以降を 1行で、書くので注意)
シリアル番号を更新して、ゾーンを更新します。
nsd-control reload
4. 確認
設定を「drill」コマンドで、確認します。
drill mail._domainkey.example.com TXT
「example.com」には、実際のドメイン名をいれるわけですが、この結果。
;; ANSWER SECTION:
mail._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=..."
のように、「DKIM」レコードが表示されれば、設定はうまくいっているはずです。
5. 参考サイト
本ページは、「ChatGPT」軍曹を参考にさせていただきました。