Postfix に DKIM を設定する

メールを送信していると何故か迷惑メール扱いになる事があった。

SPF は設定していたのだが DKIM は設定していなかったので、新たに設定してみる事にした。

OpenDKIM のインストール

OpenDKIM は次の方法でインストールする。

インストールすると「/etc/opendkim/」ディレクトリが作成される。

しかし何故か設定ファイルは「/etc/opendkim.conf」として作成される。

キーファイルの作成

ここで、自宅のメールサーバーは「mail.magic-object.mydns.jp」なのでそれに対するキーを作成する。

ここを参考にする場合は、自分のメールアドレスの「ユーザー@ドメイン」のドメイン部分に対するキーを作成して下さい。

「/etc/opendkim/keys/」はキーを格納するディレクトリですが、インストールした段階でカラで作成されます。

そして「-s」の後に指定する部分は「セレクタ」と呼ばれる部分なのですが、Postfix で使用するために作成しますので「postfix」としています。

これで公開キー「postfix.txt」と秘密キー「postfix.private」が作成されました。

公開キーは DNS で使用します。(DNSのTXTレコード形式で記述されています。)

「/etc/opendkim.conf」の編集

次の項目を編集します。

ドメイン部分(Domain)は自分のモノに変更して下さい。

セレクタ(Selector)は「postfix」にします。

キーファイル(Keyfile) には秘密キーを指定します。(公開キーはDNSで使用しますので指定する必要はありません)

ソケット(Socket)はネットワーク形式で記述します。(UNIXドメインソケット形式は後術)

その他は変更の必要はありません。

ソケットをUNIXドメインソケット形式にするには次の様に設定します。(個人的には非推奨)

ですが、家の環境ではどうしても接続エラーになってしまいました。

OpenDKIM の起動とデフォルト化

Postfix の「/etc/postfix/main.cf」の編集

次の部分を追加します。

UNIXドメインソケット形式では「smtpd_milters = unix:/run/opendkim/opendkim.sock」と指定します。

Postfix の再起動

MyDNS での編集

「/etc/opendkim/keys/postfix.txt」(公開キー)の内容は次の様になっていました。

ですので、MyDNS では次の様に設定しました。

追加するのは2項目「_adsp._domainkey.mail」と「postfix._domainkey.mail」です。

ポイントは「mail」が既にサブドメインですので、それに追加する形で「.mail」が必要な事です。(メールアドレスのドメイン部分が「XXX@mail.XXX」となっている場合はこうなるハズです。

どちらも「TXT」タイプで指定して「_adsp._domainkey.mail」には「dkim=unknown」と指定します。

では設定が上手くいっているか確認します。

メールを送信してみて確認する

メールを Gmail に送信して、メールのソースを確認します。

無事にパスしています。これで DKIM の設定は完了しました。

問題

SPF も設定してパスし、DKIM もパス、「dmarc=pass」となっているにも関わらず Gmail では迷惑メール扱いになる。どうやら MyDNS を利用している事に問題がありそうだ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です