PHP更新後、問い合わせメールが届かない?「送信完了」だけでは分からない確認ポイント
PHPを更新したあと、問い合わせフォームには「送信完了」と表示されたのに、社内へメールが届いていない。こんなときは、フォームを何度も送信したり、すぐにPHPを古い状態へ戻したりする前に、処理を分けて確認しましょう。
送信完了画面の表示、フォームの受付記録、メール送信処理、受信箱への到達は、それぞれ別の確認項目です。この記事では、WordPressや独自フォームを運用する企業担当者向けに、PHP更新後のメール不達を整理する手順と、制作会社に渡せる確認表を紹介します。更新後に発見した不具合でも、PHP更新が原因と確定したわけではありません。
「送信完了」と「メールが届いた」は別の結果
PHPのmail()は、メール送信が受け入れられたかを返す関数です。成功の戻り値でも、宛先への到達までは保証しません。WordPressのwp_mail()にも、成功の戻り値だけでは受信を確認できない旨が明記されています。
出典:PHP公式「mail」、WordPress公式「wp_mail()」
ただし、すべてのフォームがこの関数を直接使っているわけではありません。SMTPや外部配信サービスを利用している場合もあり、画面の成功表示を出す条件も実装によって異なります。まず保守担当に「どの仕組みで送り、何をもって成功と表示するか」を確認します。
確認は、入力・受付・送信・受信の4段階で進める
1.入力から完了画面まで進めるか
入力内容の確認画面、必須項目のエラー、日本語を含む送信、スマホからの操作など、普段の利用経路を確認します。添付機能がある場合は、許可された形式・容量のテストファイルで確認してください。
ここでエラーになる場合は、画面の文言と発生日時を控えます。PHP、フォームのプログラム、プラグイン、外部サービスなど、原因の候補は複数あります。画面だけで原因を決めず、担当者に該当時刻のログとの照合を依頼しましょう。
2.問い合わせ自体が記録されているか
フォームに保存機能がある場合は、管理画面でテスト送信の記録を確認します。保存機能のないフォームもあるため、「メールが来ないから記録もない」「管理画面にないから送信失敗」と一律には判断できません。
受付記録が残っているのに通知だけ届かないなら、受け付けた問い合わせへの対応と、通知経路の調査を分けて進められます。実際のお客様の問い合わせがある場合は、通常の社内ルールに従って対応し、テストデータと混ぜないようにします。
3.社内通知と自動返信を別々に見る
社内宛て通知と、問い合わせた人への自動返信は、宛先やテンプレートが異なることがあります。片方が届いても、もう片方の成功を確認したことにはなりません。
それぞれについて、送信先の設定、配信サービスの結果、エラーの有無を担当者に確認します。別の設定を同時に変えると比較しにくくなるので、変更前後の記録を残して一つずつ切り分けます。
4.受信箱・迷惑メール・配信結果を照合する
宛先の入力間違い、迷惑メールへの振り分け、受信側のルール、容量や配信遅延なども確認対象です。送信側に結果が残る場合は、テスト日時と宛先を指定して調べてもらいます。ログに「送信済み」とあっても、その表示がどこまでの処理を示すのか確認してください。
WordPress公式のメール管理資料にも、配信環境や到達性の確認について案内があります。認証やDNSの設定は、現状を確認してから管理担当が判断する項目です。不達だからといって、手当たり次第に設定を書き換えるものではありません。
制作会社と共有するメール確認表
次の表はテスト計画のひな型です。実際にレジットや特定のお客様の環境で実施した調査結果ではありません。
| 確認項目 | 記録する内容 | 判断の目安 |
|---|---|---|
| テスト条件 | 対象URL・日時・端末・識別用の件名 | 担当者が同じ送信を探せる |
| 入力・完了画面 | エラー文言と完了表示の有無 | 表示だけで到達を判断しない |
| 受付記録 | 保存機能の有無と記録の有無 | 受付と通知を分ける |
| 社内通知 | 宛先・配信結果・受信時刻 | 受信側でも確認する |
| 自動返信 | 利用者宛ての受信結果 | 社内通知と別に確認する |
| 追加機能 | 添付・通知先の振り分け等 | 使っている機能だけ対象にする |
テストには管理者が用意した宛先と架空の入力内容を使い、件名などにテストと分かる識別子を入れます。お客様への誤通知や営業対応の重複を避けるため、実施前に社内の受付担当とも共有してください。
PHP更新との関係を、変更内容と時刻から調べる
保守担当へは、PHPだけを更新したのか、同じタイミングでWordPress・プラグイン・送信設定も変更したのかを確認します。最後に正常に届いた時刻と、最初に不達を確認した時刻も手がかりになります。
PHPのセキュリティ修正の適用と、異なる系列へのバージョン切り替えは、変更範囲が異なります。サーバー会社側で修正が適用される場合もあるので、管理画面の番号だけで実施内容を推測せず、提供元の回答を確認しましょう。WordPress公式もPHP更新に際し、バックアップや互換性の確認を案内しています。
不具合の原因を調べずに、脆弱性が残る旧環境へ戻したまま運用することは避けます。復旧手段が必要なときは、保守担当と安全性・停止範囲・代替窓口を相談して決めてください。
そのまま使える調査依頼の文面
お世話になっております。 PHP更新後の動作確認で、問い合わせメールの不達を確認しました。 対象フォーム:[URL] テスト日時:[日時・タイムゾーン] 識別用の件名:[テスト番号] 完了画面:[表示あり/エラー内容] 社内通知:[到着/未着] 自動返信:[到着/未着/機能なし] 受付記録と送信ログを照合し、どの段階で処理が止まっているかご確認をお願いいたします。併せて、今回の変更内容とPHP更新との関係、必要な対応をご教示ください。
ログを共有する際は、認証情報や無関係な問い合わせ本文を含めないようにします。必要な宛先情報などは、担当者と決めた方法で共有してください。
「画面を確認した」から「問い合わせを受け取れる」へ
更新後の確認を担当者任せにせず、運営側でも受信結果まで確認すると、対応の完了条件が明確になります。緊急対応の基本はPHP脆弱性と自社サイトの確認手順、フォームなどの確認範囲はHTMLサイトで見落としやすいPHP利用箇所も参照してください。
株式会社レジットでは、ホームページ・ECサイトの制作、WordPress保守や公開後の運用についてご相談を受け付けています。フォームや通知を含めて管理を整理したい方は、お問い合わせフォームから対象サイトとお困りの内容をお知らせください。調査・対応範囲は、ご利用環境と契約内容を確認したうえでご案内します。
本記事は2026年10月26日確認時点の公開資料に基づきます。個別環境の原因や復旧を保証するものではありません。