VPSでメール送信サーバを構築したものの、「迷惑メールに入る」「なりすまし判定される」といった問題に悩んでいませんか?
その原因の多くは、DKIM(電子署名)の設定がされていないことにあります。
この記事では、Postfix環境でのDKIM設定方法を、初心者でも分かるように解説します。
メールサーバのDNS設定(SPF・DKIM・PTR)についてはこちら
DKIMとは(メールに署名を付ける仕組み)
DKIM(DomainKeys Identified Mail)は、送信するメールに電子署名を付ける仕組みです。
受信側はこの署名を確認することで、「改ざんされていない正しいメール」であるかを判断します。
これにより、なりすましメールを防ぎ、メールの信頼性を高めることができます。
DKIMの仕組み(簡単に理解)
DKIMは公開鍵暗号方式を使っています。
- サーバ側:秘密鍵で署名
- DNS:公開鍵を登録
- 受信側:公開鍵で検証
この仕組みにより、メールの正当性が確認されます。
OpenDKIMのインストール
sudo apt update
sudo apt install opendkim opendkim-tools -y
DKIMはOpenDKIMを使って設定します。
DKIM鍵の作成
mkdir -p /etc/opendkim/keys/your-domain.com
cd /etc/opendkim/keys/your-domain.com
opendkim-genkey -s default -d your-domain.com
以下の2つのファイルが生成されます。
- default.private(秘密鍵)
- default.txt(DNS用)
DNSへの登録
default.txtの内容をDNSに登録します。
レコード名は以下の形式になります。
default._domainkey.your-domain.com
TXTレコードとして追加してください。
DNS設定の詳細は以下の記事で解説しています。
Postfixとの連携
PostfixにDKIMを連携させます。
main.cfに以下を追加します。
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
設定後はPostfixを再起動します。
sudo systemctl restart postfix
動作確認
メールを送信し、GmailのヘッダーでDKIMが「PASS」になっているか確認します。
また、以下のツールも便利です。
- mail-tester.com
よくあるトラブル
- DNSが反映されていない
- 鍵のパスが間違っている
- 権限設定のミス
メールが届かない場合は、以下の記事も確認してください。
まとめ
DKIMを設定することで、メールの信頼性は大きく向上します。
特にVPSでメール送信を行う場合は、SPF・PTRとあわせて必ず設定しておきたい項目です。
まだメールサーバを構築していない方は、以下の記事から進めてください。