初めに
{}
内は適宜環境に合わせて読み替えてください。
環境
CentOS7.6 + Postfix 2.10.1
OpenDKIMのインストール
$ yum install --enablerepo=epel opendkim
暗号化キーの作成
$ mkdir /etc/opendkim/keys/{DOMAINNAME.com} $ opendkim-genkey -D /etc/opendkim/keys/{DOMAINNAME.com}/ -b 1024 -d {MYDOMAIN.com} -s default
各オプションについて
オプション | 内容 |
---|---|
-D | 生成ディレクトリ |
-b | 鍵のビット長。1024や2048などお好きに。 |
-d | ドメイン名 |
-s | セレクタ名。自分が分かりやすいようにお好きに。 |
オーナーの変更
これを忘れて私は後でエラーになりました。
$ chown -R opendkim: /etc/opendkim
OpenDKIM Configファイルの設定
/etc/opendkim.conf
Mode sv
#KeyFile /etc/opendkim/keys/default.private
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
/etc/opendkim/KeyTable
default._domainkey.{DOMAN.com} {DOMAN.com}:default:/etc/opendkim/keys/{DOMAN.com}/default.private
/etc/opendkim/TrustedHosts
自サーバーからメールを送信するので特に設定なし
127.0.0.1 ::1
/etc/opendkim/SigningTable
*@{DOMAIN.com} default._domainkey.{DOMAIN.com}
/etc/sysconfig/opendkim
AUTOCREATE_DKIM_KEYS=NO
OpenDKIMの起動
configの設定が完了すればDKIMを起動します。
$ systemctl start opendkim $ systemctl status opendkim
問題なければ完了です。
後は必要に応じて自動起動も設定しておくといいでしょう。
$ systemctl enable opendkim
DNSを更新
利用しているDNSサーバーでTXTゾーンにDKIMの内容を反映させます。
$ cat /etc/opendkim/keys/{DOMAIN.com}/default.txt {DOMAIN.com}._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA.........." ) ; ----- DKIM key default for {DOMAIN.com}
サブドメイン | 種別 | 内容 |
---|---|---|
default._domainkey.{DOMAIN.com} | A | IPアドレス |
default._domainkey | TXT | v=DKIM1; k=rsa; p=MIGfMA........; |
Postfix Config設定
/etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept
Postfixを再起動して設定を反映します。
$ systemctl restart postfix
終わり
最後に適当にGmailなりにでもメールを送信してみて、受信側のヘッダに dkim=pass
とかあれば完了です。