ローカル環境の XAMPPからメールを送信できるように設定する
ローカル環境の XAMPP環境で開発を行っており、メールフォームを作成する必要が出てきたのですが、デフォルトのローカルの XAMPP環境からはメールが送信できません。
そのため、私は下記のサイトを参考にして構築を行いました。
http://log.noiretaya.com/139
XAMPP環境を含め、ローカル環境からメール送信ができるようにするための解説サイトは多々ありましたが、ここを参考にした理由は、設定した後のデバッグ方法や、テスト送信するサンプルスクリプトまで載せてあったからです。
ちなみに、この仕組みは、ローカルからメールを送信できるようにしているわけではなく、ローカルPCにある sendmailのプログラムからメール送信の SMTPサーバ(ここでは、Gmailの SMTPサーバ)に接続し、そのサーバ経由でメールを送信している、ということになります。
そのために、ローカル環境に sendmailの設定をして...といったところまで勉強を含めて作ってみたいという方はほかのサイトを探してください!
で、上記の参考サイトをもとに構築していく際に 2点ほど間違いやすい点がありましたので説明しておきます。
5行目の「sendmail_path = "\"\xampp\sendmail\sendmail.exe\" -t"」のコメントを外すのに合わせて、その下にある「;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"」はコメントにする必要があります。
そうしないと、せっかく設定した「sendmail_path」の値が元の設定に上書きされてしまいまして、「\Device\Harddisk2\DR2ディスクがありません」のようなエラーが出てくるようになると思います。
また、記事の中でも説明してありますが、「『force_sender』は指定しても意味がないように思うんですが」とありますが、指定しないと勿論動きませんが、適当なメールアドレスにしても動きません。
私の場合は、「auth_username」で設定したものと同じ Gmailのメールアドレスを設定することで送信ができるようになりました。
もしかしたら、これはプログラム上のエラーがあるというのではなく、Gmail側のスパムフィルタなんかに引っかかっているのではないか、とも考えています。
また、デバッグする際に「debug_logfile=debug.log」のコメントを外した場合は、問題なく動くようになったタイミングで元に戻しておく方がいいと思います。
メールを送るたびにログが出力されていきますので、気付いたらすごいファイル容量になっていたり...ということもあるかもしれません。
なお、php.iniファイルの修正をした際には、PHPの再起動をしてくださいね。
そのため、私は下記のサイトを参考にして構築を行いました。
http://log.noiretaya.com/139
XAMPP環境を含め、ローカル環境からメール送信ができるようにするための解説サイトは多々ありましたが、ここを参考にした理由は、設定した後のデバッグ方法や、テスト送信するサンプルスクリプトまで載せてあったからです。
ちなみに、この仕組みは、ローカルからメールを送信できるようにしているわけではなく、ローカルPCにある sendmailのプログラムからメール送信の SMTPサーバ(ここでは、Gmailの SMTPサーバ)に接続し、そのサーバ経由でメールを送信している、ということになります。
そのために、ローカル環境に sendmailの設定をして...といったところまで勉強を含めて作ってみたいという方はほかのサイトを探してください!
で、上記の参考サイトをもとに構築していく際に 2点ほど間違いやすい点がありましたので説明しておきます。
5行目の「sendmail_path = "\"\xampp\sendmail\sendmail.exe\" -t"」のコメントを外すのに合わせて、その下にある「;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"」はコメントにする必要があります。
そうしないと、せっかく設定した「sendmail_path」の値が元の設定に上書きされてしまいまして、「\Device\Harddisk2\DR2ディスクがありません」のようなエラーが出てくるようになると思います。
また、記事の中でも説明してありますが、「『force_sender』は指定しても意味がないように思うんですが」とありますが、指定しないと勿論動きませんが、適当なメールアドレスにしても動きません。
私の場合は、「auth_username」で設定したものと同じ Gmailのメールアドレスを設定することで送信ができるようになりました。
もしかしたら、これはプログラム上のエラーがあるというのではなく、Gmail側のスパムフィルタなんかに引っかかっているのではないか、とも考えています。
また、デバッグする際に「debug_logfile=debug.log」のコメントを外した場合は、問題なく動くようになったタイミングで元に戻しておく方がいいと思います。
メールを送るたびにログが出力されていきますので、気付いたらすごいファイル容量になっていたり...ということもあるかもしれません。
なお、php.iniファイルの修正をした際には、PHPの再起動をしてくださいね。
- 関連記事
-
- XAMPPの Apacheが起動しなくなった場合の対処方法 (2013/09/17)
- ロリポップで非常に大きなハッキング騒動がありました。 (2013/09/14)
- ローカル環境の XAMPPからメールを送信できるように設定する (2013/07/16)
- RSA暗号の仕組みがすっきりと分かった瞬間 (2013/06/06)
- PHPを勉強するための環境を構築するにはXAMPPが最適 (2013/01/22)
スポンサーサイト
≪ CakePHP 2.3で確認画面付きのお問い合わせフォームの作り方 | HOME | MySQLの「tinyint(1)」の悲劇 Boolean型になるとは... ≫
コメントの投稿
トラックバック
≪ CakePHP 2.3で確認画面付きのお問い合わせフォームの作り方 | HOME | MySQLの「tinyint(1)」の悲劇 Boolean型になるとは... ≫
プロフィール
Author:エス技研
性別:男性
職業:Web系エンジニア
エンジニアになって 15年ほど経ちますが、その途中で 5年ほどディレクタ、マネジメントを中心とした業務を行っていたためにやや現場を離れていましたが、転職をきっかけに 2012年に現場に復帰し、新たな技術を楽しみながら勉強しています。
メインの環境は LAMP環境です。
FC2カウンター
カテゴリ
最新記事
月別アーカイブ
FC2拍手ランキング
Amazon
GoogleAdWords
カレンダー
最新トラックバック
最新コメント
- エス技研:MySQLの「tinyint(1)」の悲劇 Boolean型になるとは... (01/13)
- 林:MySQLの「tinyint(1)」の悲劇 Boolean型になるとは... (01/07)
- エス技研:Google Swiffyの使い方 【3】Swiffyに FlashVars的にテキストを渡す方法(Swiffyでは扱えない文字「%」「+」「&」) (07/06)
- panda:Google Swiffyの使い方 【3】Swiffyに FlashVars的にテキストを渡す方法(Swiffyでは扱えない文字「%」「+」「&」) (03/26)
- エス技研:わずか半日で Googleにインデックスされた!!! (02/12)
- つなよし:わずか半日で Googleにインデックスされた!!! (02/11)
検索フォーム
ブロとも申請フォーム
RSSリンクの表示
QRコード
フリーエリア