XAMPP環境のPHPからメールを送る

XAMPPの管理画面(http://localhost/)からのメールでは無く、PHPのmail()メソッドを利用する際の設定です。

PHPからメールを送る代表的な関数としてmail()メソッドがありますが、初期設定だと、全く動きません。

なので、動くようにしてやります。

まずはXAMPPをインストールしたディレクトリまで移動し(例:xampp/)、「sendmail」というディレクトリを見つけます。

そうすると中に、5つほどファイルがあると思われます。

内容は、

  1. sendmail.exe(本体)
  2. license.txt
  3. sendmail.ini
  4. sendmail_example.ini
  5. ReadMe.html

だったと思います。

この中の、「sendmail.ini」をBOM無しで開けるメモ帳で開きます。

このファイルの中の次の箇所を設定してやります。

  1. smtp_server
  2. smtp_port
  3. force_sender

smtp_serverは送信する際に利用するサーバーを指定します。

gamil経由で送信するには、「stmp.gmail.com」と指定します。

smtp_portは送信する際に利用するポートを指定します。

gmailのsmtp_serverを利用するならば、「587」と指定します。

force_senderはメールの送信元(返信先)を指定します。

メーラーなどで見かける、「差出人」に当たる場所です。

記述方法はメールアドレスで記述します。

これで設定が完了したので、一旦apacheを再起動します(しなくもいいですが)。

その後XAMPPコントローラーから、Mercuryを起動します。

後はPHP側からmail()メソッドを使い、メールを送信してみます。

きちんと送信されれば、OKです。

デバッグや、ログをとりたい!という方は以下の先頭についているコメントアウトを外して保存し、再度メールを送信すると、debug.logってのとerror.logの2つのファイルができあがります。

  1. error_logfile
  2. debug_logfile

これで送信できるようになり、幸せになれます。