2011年10月1日土曜日

Windowsの64ビットOS+IISでPHP sendmailのやり方

PHPのメール送信を行う場合、まずphp.iniの「mail function」の設定を行います。
しかしいざSMTPサーバの設定をしようとするとその上の行に「For Win32 only.」とコメントされています。

そこで「sendmail」の方を使ってみたところ正常にメールが送信されるようになりました。 (コメントにはFor Unix only.と書いてますが、Windowsでも動作しました)

簡単にですが以下に導入手順
1.まずsendmail.zipをダウンロード
2.ダウンロードしたsendmail.zipを任意の場所に解凍
(c:¥app¥sendmailとか)
3.次にphp.iniを編集
[mail function]
; For Win32 only.
; SMTP = localhost
; smtp_port = 25

; For Win32 only.
; sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "c:¥app¥sendmail¥sendmail.exe -t"
4.次にsendmailディレクトリ内にあるsendmail.iniを編集
[sendmail]
smtp_server = localhost
smtp_port = 25
(かなり抜粋して書いてますので必要な部分を適宜書き換えてください) 5.あとはIISを再起動で設定完了

PHPでメール送信プログラムを書いて、送信できればOK。
それほど面倒な設定もないので試してみてください