2026年5月20日
2026年5月20日
WordPressのDKIM・SPF設定でメール到達率を上げる方法
はじめに
DKIM(DomainKeys Identified Mail)、SPF(Sender Policy Framework)、DMARC(Domain-based Message Authentication)はメール認証の三大プロトコルです。これらを正しく設定することでWordPressのメール到達率が大幅に改善します。
各プロトコルの役割
| プロトコル | 役割 | DNSレコード種別 |
|-----------|------|----------------|
| SPF | 送信サーバーを承認 | TXT |
| DKIM | メールに電子署名を付与 | TXT |
| DMARC | SPF/DKIM失敗時のポリシー定義 | TXT |
解決手順
ステップ1:SPFレコードを設定する
# 基本的なSPFレコード
example.com TXT "v=spf1 mx a include:smtp-provider.com ~all"
# 末尾の修飾子の意味
# ~all = ソフトフェイル(迷惑メールに分類の可能性)
# -all = ハードフェイル(拒否)
# ?all = 中立(判定なし)
ステップ2:DKIMレコードを設定する
DKIMはSMTPプロバイダー側で秘密鍵/公開鍵ペアを生成します。
# SendGridのDKIMレコード例(ダッシュボードで自動生成)
s1._domainkey.example.com TXT "k=rsa; p=MIGfMA0GCSqGSIb3DQE..."
# Mailgunのデフォルトセレクタ
mx._domainkey.mg.example.com TXT "k=rsa; p=MIGfMA0GCSqGSI..."
ステップ3:DMARCレコードを設定する
# まずはモニタリングモード(p=none)で開始
_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com; fo=1"
# レポートを1週間確認後、段階的に強化
# 隔離モード(迷惑メールフォルダへ)
_dmarc.example.com TXT "v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@example.com"
# 最終形(完全拒否)
_dmarc.example.com TXT "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@example.com"
ステップ4:設定を確認する
# WP-CLIでテストメール送信
wp eval "wp_mail('test@gmail.com', 'DKIM/SPFテスト', 'メール認証テスト');"
# dig コマンドでSPFレコード確認(LinuxサーバーやWP-CLIシェルから)
# nslookup -type=TXT example.com
オンライン検証ツール:
- MXToolbox SPF Check: mxtoolbox.com/spf.aspx
- DKIM Validator: dkimvalidator.com
- mail-tester.com: 総合スコアを確認
ステップ5:Gmailでヘッダーを確認
送信したメールをGmailで開く → 「...」メニュー → 「メッセージのソースを表示」:
Authentication-Results: mx.google.com;
dkim=pass header.i=@example.com
spf=pass smtp.mailfrom=example.com
dmarc=pass (p=QUARANTINE) header.from=example.com
全項目が pass になっていれば設定完了です。
注意事項
- SPFレコードは1ドメインに1件のみ有効です(複数に分けると最後の1件のみ有効)
- DKIMの公開鍵はSMTPプロバイダー変更時に更新が必要です
- DMARCのrua/rufレポート受信アドレスは実際に受信できるアドレスにしてください
まとめ
DKIM・SPF・DMARCの設定はDNSレコードを追加するだけで完了します。SMTPプロバイダー(SendGrid・Mailgun等)のダッシュボードで必要なDNSレコードが自動生成されますので、それをドメイン管理画面に貼り付けてください。