メールフォームプロを使ってメールフォームを設置して、
ユーザー側には自動返信メールが届いているのに
「管理者(設置者)宛のメールだけ届かない」。
テスト送信しても完了画面は表示されるし、
ユーザーには返信が返っている。
それなのに、肝心の管理者側には一通も来ない…。
今回は、
メールフォームプロ(無料版)を使用したサイトで実際に起きたトラブルと、
最終的にどう解決したかをまとめます。
同じように
「フォームは動いているのに、管理者宛メールだけ届かない」
という状況で悩んでいる方の参考になれば幸いです。
メールフォームの状況(今回の前提)
- 使用プラグイン:メールフォームプロ(無料版)
- ユーザー宛の自動返信:届く◎
- 管理者(設置者)宛のメール:届かない×
- フォーム送信後の完了画面:正常表示◎
- エラー表示:なし◎
👉
「フォーム自体は正常に動作している」状態
今回のサイト構成
今回の原因を理解するうえで重要だったのが、
サーバー構成でした。
- Webサーバー:さくらレンタルサーバー
- メールサーバー:別会社(独自ドメインのメール管理)
つまり、
Webサーバーとメールサーバーが別
という構成です。
なぜ「管理者宛のメールだけ」届かなかったのか
メールフォームでは通常、
- PHPの
mail()関数 - サーバー側の送信メール設定
を使ってメールを送信します。
このとき、
- ユーザー宛自動返信
→ フォームの設定に従って送信 - 管理者宛通知
→ サーバー側のメール送信設定の影響を受けやすい
という違いがあります。
今回のケースでは、
- 送信元ドメイン
- SPF / From アドレス
- メールサーバーの許可設定
などの影響で、
管理者宛のメールだけが弾かれている可能性が高い状態でした。
技術的な対処は正直ハードルが高い
理屈上は、
- SPFレコードの調整
- Fromアドレスの統一
- SMTP送信への切り替え
などで解決できる可能性もあります。
ただし、
- サーバーが別会社
- クライアント案件
- 環境に制限がある
という状況では、
調整コストが高く、検証に時間がかかるのが現実です。
実際に行った対処方法(現場で通ったやり方)
今回は、
確実に・早く・トラブルを避ける方法を選びました。
対処の流れ
- さくらレンタルサーバーでメールアドレスを新規作成
- メールフォームプロの「管理者宛メール」の送信先をそのアドレスに変更
- そのメールアドレスから、既存の管理者メールへ転送設定
さくらレンタルサーバーでメールアドレスを作成
今回は、Webサーバーと同じ環境でメールを受信できる
さくらのレンタルサーバでメールアドレスを作成し、
フォームの管理者宛メールの送信先として使用しました。
- 独自ドメインのメールアドレス作成
- 転送設定
が簡単に行えます。
Webサーバーと同じサーバー内で
メール送信を完結させることで、
- mail関数の不整合
- 外部メールサーバーとの相性問題
を回避できました。
メールフォームの宛先を変更 → 転送で対応
メリット
- フォーム側の設定変更のみ
- クライアント側のメール環境を大きく変えない
- 安定して届く
デメリット
- メールアドレスが一つ増える
ただし、
実運用ではこの方法が一番トラブルが少ないと感じています。
同じように困っている方へ
- ユーザーには届く
- 管理者だけ届かない
- エラーも出ない
このパターンは、
メールサーバーとWebサーバーが別構成のときに起きやすいです。
技術的に深追いする前に、
Webサーバーと同じサーバーでメールを受ける
という方法を一度試してみるのも、
現実的な解決策だと思います。
まとめ
- メールフォームが「部分的に届かない」場合、構成を疑う
- Webサーバーとメールサーバーが別だと起きやすい
- さくらでメールを受けて転送する方法は安定性が高い
同じようなメールフォームトラブルで悩んでいる方の
ヒントになれば幸いです。

コメント