Windows&PHPでのSMTP利用

【覚え書き】

Windows上でPHPを利用する場合のSMTP設定
Windowsの場合、メール関係を処理してくれるサーバ機能が標準では用意されていないので外部SMTPサーバを利用することになります。
ただ、レンタルサーバやプロバイダなどのSMTPサーバが利用出来る場合、送信先として管理ドメイン内だと送信可能な場合があります。
例えばヘテムルの場合、ヘテムルで管理しているドメインはmail(サーバ番号).heteml.jpで送信できます。

php.iniの設定
SMTP = mail(サーバ番号).heteml.jp
smtp_port = 587

ドメインsample.comをヘテムルで管理しているとして、yourname@sample.comへの送信は上記設定で可能のようです。


フォームからの動作テスト程度なら上記で事足りますが、複数への配信といった処理を確認したい場合には、管理外のドメインでも受け取る必要も出てくるでしょう。
その場合は上記では無理がありますので、やはりSMTPサーバ替わりになるものを用意する必要があります。
自サーバを運用するなら本格的なメールサーバを用意しても良いかもしれませんが、開発時の動作確認程度の利用であればそこまでものは必要はないので、SMTPサーバのような振る舞いをしてくれるもので十分です。

というわけで、比較的手軽に設定出来る「sendまね~る」を利用します。
http://xoops.hypweb.net/modules/mydownloads/viewcat.php?cid=1
sendまね~るは、プロバイダやレンタルサーバなどお使いのSMTPサーバを利用してデータを送信します。
つまり、PHPなどのsendmail関数から受け取ったデータを、sendまね~るがメールソフト代わりとなってSMTPサーバへ送り出します。

php.iniの設定
sendmail_path = "C:/sendm/sendmane.exe -t"
(上記はCドライブのsendmフォルダにアプリケーションをおいた場合の記述です。)
※SMTP, smtp_port等はコメント化しておきましょう。

sendまね~るの設定は、コマンドラインで「sendmane.exe」を起動。
あとは、指示に従って必要な項目を入力していきます。
(基本的には利用するSMTPサーバの情報:id、パスワード、ポート番号など)
再設定は同じくコマンドラインで「-init」オプションをつけて起動すると設定できます。
POP before SMTPも利用出来るようですが、最近(でも無いけど)のサーバはポート587を使ったSMTP認証が使えると思うので、そちらの利用されたほうが良いでしょう。
※SMTP認証はバージョン1.00で対応されてます。

この記事へのコメント


この記事へのトラックバック