WordPressの問い合わせメールが届かないときは、送信元アドレスで決まる。公開直後に確認する3つのこと
この記事の結論
問い合わせフォームで「送信しました」と表示されても、相手の受信箱まで届いたことにはなりません。公開直後は、フォームの見た目より先に、送信元アドレスが独自ドメインになっているか、ドメインの認証設定に送信サービスが含まれているか、外部のメールアドレスで受信できるかを確認します。
とくに送信元を `gmail.com` のような自分のサイトと関係ないドメインにしていると、送信元の正当性を確かめにくくなります。Gmail はすべての送信者に SPF または DKIM を求め、受信の安定のためには SPF・DKIM・DMARC の設定を推奨しています。フォームの送信先だけを変える前に、送信元の設計を見直すのが近道です。
先に確認する3つのこと
1. フォームの送信元がサイトの独自ドメインか
フォームの「差出人」「From」に、サイトの独自ドメインと同じドメインのアドレスを設定します。たとえば `example.jp` を使うサイトなら、`contact@example.jp` のような形です。
入力者のメールアドレスは、返信先(Reply-To)として扱います。差出人まで入力者のアドレスにすると、送信サーバーと差出人ドメインの関係が曖昧になり、迷惑メール扱い・拒否の切り分けが難しくなります。
まだ独自ドメインのメールアドレスを用意していない場合は、先にメールサービス側で作成してからフォームの設定を進めます。存在しないアドレスを差出人にしても、送信の信頼性は上がりません。
2. SPF/DKIMに「フォームを送るサービス」が含まれているか
メールは、ドメインのDNS設定で「この送信元は正しい」と確認されます。Googleの送信者ガイドラインでも、SPF または DKIM の設定がすべての送信者に求められています。
ここで見落としやすいのは、普段使うメールサービスだけを SPF に入れて、フォーム送信を担当するサービスを入れ忘れることです。WordPress本体、SMTPプラグイン、外部メール配信サービスのどれが送信しているかを先に1つに決め、そのサービスの公式手順どおりにDNSレコードを追加します。
DNSレコードを複数人で触ると、既存のSPFレコードを上書きして別のメールが届かなくなることがあります。追加前に現在のTXTレコードを控え、作業後は普段のメールとフォーム送信の両方を確認します。
3. 外部アドレスで受信テストし、迷惑メールとヘッダーを見る
自分の管理画面だけで確認せず、別のメールサービスの受信箱へ実際に送ります。次の順で見ると、原因を混ぜずに済みます。
1. フォーム送信後に送信完了画面になるか
2. 送信先の受信トレイと迷惑メールを両方見る
3. 届いたメールの送信元・返信先・本文が想定どおりかを見る
4. 届かない場合は、フォーム側の送信ログまたはサーバー側の送信エラーを確認する
Gmailに届いたメールでは、詳細表示から認証結果を確認できます。SPF/DKIMの失敗表示が出ている場合は、文面を変えるより先に送信サービスとDNSの設定を確認します。
送信完了画面と配達成功は別に考える
送信完了画面は、ブラウザからフォームへ入力が渡ったことを示すだけです。メールサーバーが受け付けたか、受信側が迷惑メールに入れたかまでは分かりません。
公開前にテストを1回で終わらせず、フォームを変更したとき、送信サービスを変えたとき、DNSを触ったときにも同じテストを繰り返します。問い合わせを受ける導線は、記事やデザインと同じく公開後に壊れていないことを確認し続ける必要があります。
まとめ
WordPressの問い合わせメールが届かないときは、次の順で確認します。
1. 送信元をサイトの独自ドメインにする
2. 実際に送るサービスをSPF/DKIMの設定へ含める
3. 外部アドレスへ送って受信・迷惑メール・認証結果を確認する
フォームの設定だけで解決しない場合でも、送信元、認証、配達確認を分ければ、どこから確認すべきかが見えます。