WordPressでホームページを作った後、お問い合わせフォームからの自動返信が届かない、という相談がよく来ます。送った側は送れているつもり。受け取った側の迷惑メールフォルダにもない。消えている。
こういうときに見るべきはメール認証です。SPF・DKIM・DMARCという3つの仕組みがあって、どれかが抜けていると受信サーバーに「このメール、怪しいかも」と判断されて弾かれます。
ただ、3つをいきなり全部やろうとすると、概念が積み重なって意味不明になります。順番があります。
SPFから始める理由
SPFは「このドメインから送っていいサーバーはどれか」をDNSに書く仕組みです。
たとえば example.com というドメインを持っていて、Google Workspaceを使ってメールを送るなら、DNSのSPFレコードに「Googleのサーバーからの送信は正当ですよ」という記述を入れます。これがないと、受信サーバーは「example.comのふりをしているけど、Googleのサーバーから来た。なりすましかも」と疑います。
SPFは3つの中で設定が一番シンプルです。DNSにTXTレコードを1行追加するだけ。WordPressのフォームからの自動返信が届かない案件の大半は、ここを直すだけで解決します。
設定がそもそもない、というケースに次いで多いのが、記述の誤りです。以前見た案件では ~all と書くべきところが ~al と1文字抜けていました。DNSのレコードはスペルミスが出やすいので、設定後にオンラインのSPFチェッカーで確認するのが確実です。
DKIMは「送信元を証明する署名」
SPFが「サーバーの許可リスト」なら、DKIMは「メール本文への署名」です。
メールに電子署名を付けて、「このメールはdomain.comが本当に送ったものです」と証明できるようにする仕組みです。受信サーバーはDNSに公開された鍵と突き合わせて、署名が正しければ通過させます。
ここで詰まりやすいのが、DKIMを二重に設定してしまうケースです。WordPressサイトとGoogle Workspaceを組み合わせている場合、レンタルサーバー側でもDKIM設定できるし、Workspace側でも設定できます。両方を有効にすると、どちらの署名で検証すればいいか受信サーバーが判断できなくなります。
実際の相談でこれがありました。Workspace側のDKIMを有効にした後、サーバー側のDKIMレコードを残したまま。送信は一見できているのに、相手に届かない。サーバー側のDKIMレコードを削除して、Workspace側だけにしたら解決しました。
送信元が1つなら、DKIMも1つ。これが基本です。
DMARCは最後に設定する
SPFとDKIMが整ってから設定するのがDMARCです。順番を間違えないほうがいいです。
DMARCは「SPFやDKIMで失敗したメールをどう扱うか」のポリシーをDNSに書く仕組みです。p=none(何もしない)p=quarantine(迷惑メールに入れる)p=reject(弾く)の3段階があります。
SPFもDKIMも設定が正しくない状態でいきなり p=reject を設定すると、自分のメールが全部弾かれます。まず p=none で設定して、DMARCレポートを確認しながら徐々に強くしていくのが安全です。
あと、DMARCは複数の送信経路が絡むと急に難しくなります。たとえばECサイトのプラットフォームがバックエンドで別の配信サービスを使っていて、そこのDKIM署名が付いていない、という状況がありました。SPFは include: の連鎖でなんとか通っていても、DMARCはDKIMが揃っていないと判定が厳しくなります。この場合はプラットフォーム側の問題なので、自分では直せません。できることは把握しておく、くらいです。
整理すると
役割と順番を一言でまとめると、こうなります。
- SPF:送信を許可するサーバーのリストをDNSに書く。まずここから。
- DKIM:メールに署名して本物であることを証明する。SPFの次。
- DMARC:認証失敗時の扱い方を定義する。SPFとDKIMが整ってから。
3つが全部揃って初めて「ちゃんと認証されている送信者」として扱われます。ただし、優先順位はSPF→DKIM→DMARCです。
自社メールが迷惑メールに入る、届かない、という状況なら、まずSPFレコードがそもそも設定されているか、内容が正しいかを確認するのが最初の一手です。そこが正しければ次にDKIM、という順番で見ていくと、問題が整理しやすいです。
転送設定が絡んだり、複数の送信サービスを組み合わせていたりすると、SPFだけでは解決しないこともあります。でも初見のメール届かない案件で、まずSPFを見に行って損をしたことはないです。3つ全部同時に調べ始めると何がどう悪いか分からなくなります。1つずつ潰す。
