Guide
お問い合わせフォームが送れない・届かないときの切り分け
ブラウザ側・サーバー側・受信メールの順で切り分け、自分で直せるところから潰します。
先に結論
「送れない」と「届かない」は別物です。前者はブラウザやフォーム側、後者はメール送信・受信側のことが多いです。上から順に潰すと、無駄な作り直しが減ります。
自前の PHP(Former の生成物など)なら、ファイル配置・PHP のメール関数・受信側の迷惑判定の3点が中心です。
1. まずブラウザ側を見る
送信ボタンを押した直後の反応で切り分けます。
- 何も起きない/ボタンが無効のまま … JavaScript エラー、必須項目の未入力、確認画面へ進めていない
- エラーメッセージが出る … 画面の文言どおり直す(メール形式、必須、添付サイズなど)
- 完了画面はあるがメールが来ない … フォーム処理は通っている可能性が高い。次の「届かない」へ
- 404 や真っ白
…
form.php/send.phpのパス違い、PHP が動かないホスト
スマホと PC、別ブラウザでも一度試してください。拡張機能やキャッシュが邪魔していることがあります。
2. ファイルとサーバーを確認する
置き場所
Former 系は、だいたい同じディレクトリに form.php と send.php が必要です。片方だけ別フォルダに置くと送れません。HTML から見た相対パスも確認します。
PHP が動くか
STUDIO、Wix、ペライチ、GitHub Pages などでは PHP が動きません。置けない理由と代替は STUDIO・Wix に PHP フォームが置けない理由と代替 にまとめています。
よくあるサーバー要件
- PHP 7.4 以上(目安)
mbstringが入っている- セッションが使える(確認画面・CSRF がある場合)
- サーバーからメールを送れる(
mb_send_mailなど)
レンタルサーバーの「メール送信が制限されている」「SMTP 認証が必須」プランもあります。コントロールパネルの案内を一度見てください。
3. 届かないときの確認
- 迷惑メール・プロモーションを見る Gmail などは振り分けが強いです。数日分さかのぼる
- 受信アドレスを別の個人メールでも試す 会社ドメインだけ弾かれていることがある
- 送信元(From)を見直す 存在しないドメインや、サーバーと無関係なアドレスは拒否されやすい
- サーバーの送信ログ/エラーログ 「送ったつもり」がサーバー側で失敗していることも多い
自動返信だけ来る・管理者宛だけ来ない、など片側だけの不達もよくあります。どちらが欠けているかをメモすると、次の手が早く決まります。
試す順番(短く)
- 別端末で送信完了画面の有無を確認
- ファイル配置と PHP404・白い画面ならここ
- 受信箱と迷惑メール別アドレスでも受信できるか
- まだ不明なら相談症状・URL・いつからか、を添える