プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
「XAMPP for Windows」の環境でsendmailの設定を行う。
元々はFuelPHPのEmailパッケージで遊ぼうとしていたのですが、

あれ?特にメール関連の設定してないけど、
もしかしたらメール飛ばないんじゃね(--?

と気づいてしまったのがきっかけです。

ほんで、あれやこれやと調べてみたのですが、
XAMPPでsendmail使うにはやはり何か設定しないと駄目みたいですね。

やり方はいくつかあるようで「Mercury」とかいうのを使ってもできるみたいですが、
よく分からないので単純にこの手順でやりましたφ(--)

1.php.iniを編集
2.sendmail.iniを編集
3.Apacheを再起動

それでは見ていきます。
ファイルのパスはインストールした環境によって違うかもしれませんので
適当に読み替えてください。

1.php.iniを編集

それではまず「1.php.iniを編集」から行きましょう。
「C:\xampp\php\php.ini」を開いて以下のように変更します。


; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"(←こいつがコメントアウトされている)

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"


; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"(←こいつを有効にする)

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"(←こいつをコメントアウトする)

「mailtodisk.exe」を指定した「sendmail_path」をコメントアウトして
「sendmail.exe」を指定した「sendmail_path」を有効にしていますね。
要は「mailtodisk.exe」ではなく「sendmail.exe」を使いますよ、と指定するわけです。
※「mailtodisk.exe」が何かは後で説明します。

2.sendmail.iniを編集

次は「2.sendmail.iniを編集」です。
「C:\xampp\sendmail\sendmail.ini」を開いて……なんかいろいろ設定します。

ご自分の使用するメールサーバの情報を設定してください。

メールサーバとポート番号は

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=mail.mydomain.com

; smtp port (normally 25)

smtp_port=25

のところで設定します。

メール送信時にSMTP-AUTHがあるなら、認証情報を

; if your smtp server requires authentication, modify the following two lines

auth_username=(ここにID)
auth_password=(ここにパスワード)

に設定します。

POP before SMTPであればPOPサーバ及びアカウント情報を

pop3_server=(ここにPOPサーバ)
pop3_username=(ここにID)
pop3_password=(ここにパスワード)

に設定します。

あとは特に気にしなくても大丈夫です。

3.Apacheを再起動

最後に「3.Apacheを再起動」ですね。
ぽちぽちっとApacheさんを再起動すれば完了です。

ちなみにXAMPPを設定して特に設定を変更していない場合、
「mb_send_mail()」等を使うと「sendmail.exe」ではなく「mailtodisk.exe」が動きます。

「mailtodisk.exe」さんは、その名の通り、メールを実際に送信する代わりに
ディスク上にテキストファイルで保存してくれますよ。

本来送信されるメールは、フォルダ

C:\xampp\mailoutput\

の中に、例えば

mail-20131003-1421-365000.txt

のようなファイル名で保存されます。
ぶっちゃけ、開発中はこのままの方が便利ですね。

そんな感じ(--)ノ
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● 環境設定関連  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事