PHP

ruzyu.com_PC_In_main_top_468_60

ruzyu.com_SP_In_head_320_100

PHPのメールフォームで管理者宛のメールが届かない問題の解決方法

投稿日:2015/10/17 更新日:

PHPのメールフォームで、入力後、自動返信メールが「サイト管理者」と「メールフォームを入力したユーザー」に送信される設定のものが、サイト管理者のみ届かないという問題が発生しました。

問題が発生した環境や解決方法をご紹介します。

サーバやメールフォームなどの環境について

サーバ

  • サービス名:SPPDレンタルサーバー
  • プラン:Windows共用サーバー ビジネスシリーズ ライトプラン

今回は事情により、Windowsサーバにする必要があったため、共用のWindowsサーバがあるSPPDを利用しました。

メールフォームのプログラム

【MailForm01】PHPメールフォーム多機能版(著作権リンク無し)フリー(無料)|PHP工房

以下の条件のメールフォームプログラムを探して見つけたものです。

  • PHP
  • 無料
  • 商用利用可能
  • 著作権表示不要

これらの条件を満たし、構造もわかりやすく使いやすいのでオススメです!

問題と原因

問題:管理者宛のメールが届かない

前述の環境でメールフォームを構築していたところ、管理者宛の自動メールが届かないことがわかりました。

原因:宛先と送信元が同じメールアドレス

原因を追究していたところ、宛先(to)と送信元(from)のメールアドレスが同じだと、メールが送信されないようでした。

これはどうもメールサーバによって、上記の現象が発生するものとそうでないものがあるようです。

メールサーバ側の設定によるものかもしれません。

まとめ

メールフォームからメールが送信されない場合の原因は多数考えられますが、原因のひとつとして、「to」と「from」に設定したメールアドレスが同じ場合に、メールサーバによっては送信されないことがある、ということを覚えておくと問題解決の切り分けの一助となるでしょう。

ruzyu.com_PC_In_main_bottom_336_280

ruzyu.com_PC_In_main_bottom_336_280

-PHP

© 2014-2017 PHP