導入
「自社サーバーから送ったメルマガが、お客様のGmailに届かない…」
「Webサイトの問い合わせフォームからの通知が、迷惑メールフォルダに入ってしまう…」
もしあなたがWebサイトの運営者なら、こんな経験はありませんか?
2024年から、GoogleはGmailへのメール送信に関するガイドラインを大幅に強化しました。これにより、「DKIM」という技術に対応していないサーバーからのメールは、迷惑メールと判断されたり、ブロックされたりする可能性が非常に高くなっています。
この記事では、あなたのメールが「なりすまし」だと疑われないための身分証明である「DKIM」について、その仕組みからサーバーでの具体的な設定手順まで、初心者の方にも分かりやすく解説します。
DKIMとは? メールの「身分証明書」
DKIM (DomainKeys Identified Mail)は、メールが正当な送信元から送られ、途中で内容が改ざんされていないことを証明するための**「電子署名」**の技術です。
これを、現実世界の「手紙」に例えてみましょう。
- あなたは手紙(メール)を書いた後、自分だけが持つ特別な「印鑑(秘密鍵)」で封筒に封蝋をします(電子署名)。
- 手紙を受け取った相手は、あなたが事前に公開している「印鑑の印影(公開鍵)」と、封蝋を見比べます。
- 印影が一致し、封蝋が破られていなければ、その手紙は「間違いなくあなたから送られ、途中で誰にも開封されていない」と証明できます。
この仕組みにより、送信者のなりすましやメールの改ざんを防ぎ、メールの信頼性を劇的に高めることができるのです。
構築の5ステップ
今回は、Linuxサーバーで最も標準的なメールサーバーソフト「Postfix」に、DKIM署名を行う「OpenDKIM」を連携させる手順をご紹介します。
Step 1: OpenDKIMをインストールする
まずは、電子署名を行うための専門ツールOpenDKIM
をサーバーにインストールします。
sudo yum install epel-release
sudo yum install opendkim
Step 2: 「印鑑」のペア(秘密鍵と公開鍵)を作成する
次に、電子署名に使う「印鑑」を作成します。
# 鍵を保管するディレクトリを作成
sudo mkdir -p /etc/opendkim/keys/your-domain.com
# 鍵ペアを生成
sudo opendkim-genkey -D /etc/opendkim/keys/your-domain.com/ -b 2048 -d your-domain.com -s 20250331
このコマンドで、誰にも見せない20250331.private
(秘密鍵)と、DNSに公開する20250331.txt
(公開鍵の情報)が生成されます。
Step 3: OpenDKIMとPostfixの設定を行う
次に、Postfixがメールを送信する際に、OpenDKIMに「このメールに署名をお願いします」と依頼するための連携設定を行います。
/etc/opendkim.conf
や/etc/postfix/main.cf
といった設定ファイルを編集し、「どのドメインからのメールに」「どの印鑑(秘密鍵)で署名するか」といったルールを記述していきます。
Step 4: DNSに「印鑑の印影(公開鍵)」を登録する
ここが最も重要なステップです。Step 2で作成した公開鍵の情報 (20250331.txt
の中身) を、あなたのドメインのDNS設定にTXTレコードとして登録します。
DNS設定の例:
- ホスト名:
20250331._domainkey
- 種別:
TXT
- 内容:
v=DKIM1; k=rsa; p=MIIBIjAN...
(txtファイルに記載されている公開鍵データ)
これで、世界中のメールサーバーがあなたの「印鑑の印影」を確認できるようになり、あなたのメールが本物であると検証できるようになります。
Step 5: サービスを再起動して確認する
最後に、PostfixとOpenDKIMを再起動して設定を反映させます。
sudo systemctl restart opendkim
sudo systemctl restart postfix
実際にGmail宛にテストメールを送り、メールヘッダーをGoogleのMessageheaderツールで解析して、DKIMの欄が「PASS」になっていれば成功です!
まとめ
DKIMの設定は、DNSの編集など少し専門的な手順が含まれますが、一度設定してしまえば、あなたのドメインから送信されるメールの信頼性が格段に向上します。
「メールが届かない」というトラブルは、ビジネスにおいて大きな機会損失に繋がります。この記事が、あなたのメール到達率を改善し、よりスムーズなコミュニケーションを実現するための「ヒント」になれば幸いです。
コメント