ローカル環境で送信完了まで確認できても、本番サーバーでメールが受信箱へ届くとは限りません。サーバーの送信方法、送信元ドメインの設定、受信側の迷惑メール判定が関係するためです。
このレッスンでは、公開したお問い合わせフォームからテスト送信し、管理者通知と利用者向け自動返信が実際に届くところまで確認します。
送信元と通知先を本番用にする
フォーム設定にローカルURLやテスト用アドレスが残っていないか確認します。管理者通知の宛先は、実際に問い合わせを確認する担当者のアドレスへ変更します。
- From:Webサイトと同じドメインのメールアドレス
- To:問い合わせを確認する管理者のメールアドレス
- Reply-To:フォームへ入力された利用者のメールアドレス
- 件名:サイト名と問い合わせ種別が分かる文章
利用者のメールアドレスをFromへ直接設定すると、送信元ドメインと一致せず迷惑メールと判断されやすくなります。返信に使うアドレスはReply-Toへ設定します。
SMTPの送信設定を確認する
レンタルサーバーやメールサービスが案内するSMTP情報を、フォームプラグインまたはSMTPプラグインへ設定します。ホスト名、ポート、暗号化方式、ユーザー名を案内どおりに入力してください。
次の図では、「SMTPの送信設定を確認する」で行う操作の流れを示しています。

SMTPパスワードやAPIキーをテーマファイルへ直接書いたり、Gitへコミットしたりしません。設定方法が複数ある場合は、利用中のサーバーやサービスの公式手順を優先します。
送信元ドメインの認証を確認する
SPF、DKIM、DMARCは、メールの送信元を確認し、なりすましを判断するためのDNS設定です。必要な値はメールサービスごとに異なるため、管理画面に表示された値をドメインのDNSへ登録します。
次の図では、「送信元ドメインの認証を確認する」の仕組みや関係を確認できます。

- SPF:そのドメインから送信してよいサーバーを示す
- DKIM:電子署名を使って送信元と改ざんの有無を確認する
- DMARC:SPFやDKIMに失敗したメールの扱いとレポート先を示す
SPFレコードを複数作ると正しく判定されない場合があります。既存の設定があるときは新しいレコードを追加する前に、メールサービスの手順に従って1つの値へ統合します。
dig TXT example.com
dig TXT _dmarc.example.comexample.comは自分のドメインへ置き換えます。DKIMはサービスごとに確認用の名前が異なるため、指定されたセレクター名を使います。DNSの変更が確認できるまで時間がかかる場合があります。
正常な送信を複数の受信先で確認する
送信完了の表示だけで終わらせず、管理者通知と自動返信が実際に届くまで確認します。

- 公開したお問い合わせページをシークレットウィンドウで開く
- 一般の利用者と同じように必要項目を入力して送信する
- 送信完了メッセージまたは完了ページを確認する
- 管理者通知が届き、件名と本文に必要な内容があるか確認する
- 利用者向け自動返信が届くか確認する
- 返信ボタンを押し、利用者のアドレスが返信先になるか確認する
- Gmailなど異なるメールサービスでも受信を確認する
受信箱だけでなく迷惑メールフォルダーも確認します。フォーム側の送信成功は、WordPressやメール送信処理が要求を受け付けたことを示すもので、最終的な配達を保証するものではありません。
入力エラーと迷惑送信対策を確認する
- 必須項目を空にした場合は送信されないか
- 不正なメールアドレスを入力した場合に理由が表示されるか
- 同意欄を選ばない場合は送信されないか
- 同じ内容を連続送信した場合に適切に制限されるか
- スパム判定またはハニーポットが本番でも有効か
- エラー後も入力済みの内容が必要以上に消えないか
CAPTCHAを使う場合は、ローカル用ではなく本番ドメインが登録されているか確認します。強すぎる制限で通常の利用者まで送信できなくなっていないか、スマートフォンとキーボードでも操作してください。
次の図では、「入力エラーと迷惑送信対策を確認する」の仕組みや関係を確認できます。

届かない場合に切り分ける
- フォームに送信エラーが表示されていないか確認する
- フォームまたはメールプラグインの送信ログを確認する
- 通知先、From、Reply-Toの設定を確認する
- SMTPの接続情報と認証結果を確認する
- 受信側の迷惑メールフォルダーと拒否設定を確認する
- SPF・DKIM・DMARCの検証結果をメールヘッダーで確認する
- 解決しない場合は時刻、送信元、宛先、エラー内容を添えてサーバー会社へ問い合わせる
調査のためにパスワードやAPIキーをログ、スクリーンショット、問い合わせ本文へ貼らないでください。個人情報を含むテスト内容も、確認後に保存先から削除します。
次の図では、「届かない場合に切り分ける」で押さえる違いを左右で比較しています。

公開後の確認記録を残す
確認日、使用したフォーム、送信元と通知先、受信を確認したメールサービス、発生した問題と対応内容を記録します。フォームやメールサービスを更新した後も同じ手順で再確認します。