問い合わせフォームの送信ボタンを押しても反応しない。
送信完了画面に進まない。
送信完了と表示されるのに、通知メールが届かない。
このような問い合わせフォームの不具合は、サイト運営者にとって不安が大きい問題です。
問い合わせフォームは、相談・予約・見積もり依頼につながる大切な入口です。
送信できない状態が続くと、気づかないうちに問い合わせの機会を逃している可能性もあります。
ただ、「フォームが送信できない」といっても原因は1つではありません。
この記事では、問い合わせフォームが送信できない時に確認したい代表的な原因を整理します。
1. フォーム項目の変更後、入力チェックだけが残っている
フォーム項目を変更した後に送信できなくなった場合、画面上の項目と内部の入力チェックが合っていない可能性があります。
たとえば、以前は「電話番号」が必須だったものを画面から削除したのに、プログラム側ではまだ「電話番号が未入力ならエラー」と判定しているケースです。
この場合、利用者は電話番号を入力できないのに、内部では未入力エラーとして扱われ、送信処理が止まってしまいます。
特に次のような変更後は注意が必要です。
- 項目を削除した
- 必須項目を任意項目に変更した
- 項目名を変更した
- 確認画面や送信メール本文を変更した
フォーム修正では、見た目だけでなく、入力チェック・確認画面・管理者宛メール・自動返信メールまで合わせて確認することが大切です。
2. 送信ボタンや画面側の処理に問題がある
送信ボタンを押しても何も反応しない場合は、画面側の処理に問題がある可能性があります。
たとえば、ボタンの設定が変わっていたり、JavaScriptのエラーで送信処理が止まっていたりするケースです。
次のような症状がある場合は、この可能性があります。
- 送信ボタンを押しても何も起きない
- ボタンが押せない
- ローディング表示のまま止まる
- サイト修正後から動かなくなった
最近、フォーム周辺のHTML・CSS・JavaScriptを変更していないか確認してみてください。
3. 送信完了と出るのに通知メールが届かない
送信完了画面まで進むのに、管理者宛の通知メールが届かない場合は、メール送信設定やドメイン側の設定に問題がある可能性があります。
近年は迷惑メール対策が厳しくなっており、以前は届いていたフォームメールでも、送信元の設定が不十分だと届きにくくなることがあります。
特に確認したいのは、SPF・DKIM・DMARCなどのメール認証設定です。
SPFは「このドメインのメールを、どのサーバーから送ってよいか」を示す設定です。
DKIMは、メールが正しい送信元から送られ、途中で改ざんされていないことを確認する仕組みです。
DMARCは、SPFやDKIMの結果をもとに、認証に失敗したメールをどう扱うかを受信側に伝える仕組みです。
また、自作の送信処理では、メールヘッダーの不足にも注意が必要です。
たとえば、送信元の指定が適切でない、日付情報がない、識別情報がない、件名の文字コード指定が不適切、といった問題で届きにくくなることがあります。
特に、問い合わせした人のメールアドレスをそのまま送信元に入れる設定は注意が必要です。
この場合は、送信元にはサイト側のメールアドレスを使い、返信先として問い合わせした人のメールアドレスを設定する方が安全です。
フォームからの通知メールが届かない場合は、メールアドレスの間違いだけでなく、ドメイン設定・送信元設定・メールヘッダーも確認する必要があります。
4. サーバーやPHP側でエラーが起きている
PHPなどで作られたフォームの場合、送信ボタンを押した後にサーバー側で処理が行われます。
この処理の途中でエラーが起きると、送信できなかったり、完了画面に進まなかったりします。
たとえば、次のようなケースです。
- PHPのバージョン変更後に動かなくなった
- サーバー移転後に送信できなくなった
- 送信後に真っ白な画面になる
- エラー画面が表示される
- 確認画面から完了画面に進まない
サーバー側のエラーは、画面を見ただけでは原因が分かりにくいことがあります。
「いつから」「何をした後に」「どの画面で止まるのか」を整理すると、原因を切り分けやすくなります。
5. スマホや特定のブラウザだけで送信できない
PCでは送信できるのにスマホでは送信できない。
特定のブラウザでは動くのに、別のブラウザでは動かない。
このように、特定の環境だけで不具合が起きることもあります。
特にスマホ表示では、画面幅が狭いため、フォームのレイアウトが崩れたり、別の要素が送信ボタンに重なっていたりすることがあります。
次のような場合は、スマホ表示やブラウザ差も確認した方がよいです。
- スマホだけ送信ボタンが押せない
- 入力欄が画面からはみ出している
- 固定ヘッダーやメニューがフォームに重なっている
- 特定の端末だけで動かない
自分のPCでは問題なくても、利用者のスマホでは送信できないケースがあります。
まとめ
問い合わせフォームが送信できない原因は、1つとは限りません。
主に確認したいのは次の5つです。
1. フォーム項目の変更後、入力チェックだけが残っていないか
2. 送信ボタンや画面側の処理に問題がないか
3. 送信完了と出るのに通知メールが届かない状態ではないか
4. サーバーやPHP側でエラーが起きていないか
5. スマホや特定のブラウザだけで送信できない状態ではないか
不具合を確認する時は、原因を決めつけず、「どこで止まっているのか」を順番に見ることが大切です。
相談する場合は、次の情報があると原因を切り分けやすくなります。
- 不具合が起きているページ
- どの操作で止まるのか
- いつから起きているのか
- 最近フォーム項目を変更したか
- PCとスマホで違いがあるか
- 送信完了画面まで進むか
- 通知メールが届かない場合、どの宛先で起きているか
すべて分からなくても大丈夫です。
分かる範囲で状況を整理しておくと、原因の切り分けが進めやすくなります。