【Contact Form 7のメールが届かない】送信元アドレスを変える前に確認する4つのこと
この記事の結論
Contact Form 7でメールが届かないとき、最初にFrom欄へ問い合わせた人のメールアドレスを入れるのは避けます。フォーム入力者のアドレスはReply-Toへ、Fromにはサイトで管理しているドメインのメールアドレスを置くのが確認の出発点です。ただし、Fromだけを直しても、宛先の指定、メールタグの名前、サーバー側の送信処理のどこかで止まっていれば届きません。
Contact Form 7でメールが届かないとき、最初にFrom欄へ問い合わせた人のメールアドレスを入れるのは避けます。フォーム入力者のアドレスはReply-Toへ、Fromにはサイトで管理しているドメインのメールアドレスを置くのが確認の出発点です。ただし、Fromだけを直しても、宛先の指定、メールタグの名前、サーバー側の送信処理のどこかで止まっていれば届きません。
この記事は、送信ボタンのあとに表示される完了メッセージは出るのに、管理者宛ての問い合わせメールが見当たらない人向けです。メール送信が成功した表示だけでは、最終的に受信箱へ届いたかは判断できません。設定を一度に変えず、メールタブの値とテスト結果を順に残します。
1. まず「メール」タブの宛先とメールタグを対応させる
Contact Form 7のフォーム編集画面には、フォーム項目を定義する「フォーム」タブと、実際に送るメールを設定する「メール」タブがあります。メールタブに書く`[your-email]`のような値は、フォーム側にあるメールタグと同じ名前でなければ使えません。
最初に確認するのは、次の三つです。
- 宛先(To)が、実際に受信したい管理者アドレスになっているか
- 本文に入れたメールタグが、フォーム側にある名前と一致しているか
- 自動返信用の「メール (2)」を有効にしているなら、宛先と本文を管理者通知と取り違えていないか
メールタグを追加・変更した直後は、見た目だけで正しいと判断せず、フォームから短いテストを送ります。Contact Form 7公式の「メール設定」でも、メールタブで正しいメールボックス形式を使うこと、フォームで定義したメールタグを本文などで使うことが案内されています。設定画面の警告が出ている場合は、Fromを先に変えるより、その警告の対象を直します。
2. Fromは自サイトのドメイン、返信先はReply-Toで分ける
問い合わせフォームには、送信者が入力したメールアドレスがあります。これをFromへそのまま入れると、サイトのサーバーが他人のドメインを名乗って送ったように見え、受信側の認証で扱いづらくなることがあります。
メールタブでは、次のように役割を分けます。
| 項目 | 入れるもの | 目的 |
|---|---|---|
| To | サイト管理者の受信アドレス | 問い合わせを受け取る |
| From | 自サイトで管理する独自ドメインのアドレス | 送信元をサイト側で管理する |
| Reply-To | フォーム入力者のメールタグ | 受け取ったメールから返信できるようにする |
Fromに使うメールアドレスは、見た目だけ似た文字列を作るのではなく、利用中のサーバーやメールサービスで送信を許可しているものを使います。独自ドメインを移した直後でメール受信まで不安定な場合は、先に独自ドメインのメールが届かない前にでMXレコードの移行状況を確認してください。
3. 完了メッセージではなく、別の受信先でテストする
フォーム送信後に「メッセージは送信されました」と表示されても、受信箱まで届くことを保証する表示ではありません。設定を変えたら、自分が管理できる別の受信先へ送って結果を見ます。
テストでは、次を一組として残します。
- 送信した時刻と、使った送信元アドレス
- 管理者通知が届いたか、迷惑メールフォルダに入ったか
- 管理者通知のFromとReply-Toが意図どおりか
- 自動返信を有効にしている場合、送信者側にも届いたか
同じメールサービス同士だけで試すと、外部の受信側で起きる問題に気付きにくくなります。個人情報を含む実際の問い合わせ内容ではなく、テスト用の短い内容を使い、別のメールサービスを一つ使って確認します。
4. Fromを何度も変える前に、送信経路の問題を切り分ける
To、From、Reply-Toとフォームのメールタグが合っているのに届かない場合は、フォーム固有の設定ではなく、WordPressから外へ出るメール送信の経路を確認する段階です。送信プラグインやサーバーのメールログを使っている場合は、その送信時刻に受付記録があるかを確認します。
ただし、送信ログに記録があることと、相手の受信箱まで届いたことは別です。宛先の入力誤り、受信者側の迷惑メール判定、メールボックス容量などは、送信側だけでは断定できません。設定変更のたびにテストを一通送り、どの変更で結果が変わったかを残してください。
フォームそのものではなく、WordPressの通知メールや管理者メールも届かない場合は、WordPressの問い合わせメールが届かないときは、送信元アドレスで決まるを先に確認します。
まとめ
Contact Form 7のメール不達は、From欄だけを変えて終わる問題ではありません。フォームのメールタグ、宛先、サイト側で管理するFrom、入力者へ返すReply-Toを分けると、どこを直すべきかが見えやすくなります。
まず設定画面の警告とメールタグを確認し、次に別の受信先でテストします。それでも届かないときに、送信サービスやサーバー側の経路を確認する順番なら、設定を何度も書き換えて原因を見失いにくくなります。