2008年2月3日日曜日

Windowsの PHPの sendmail_from

php.iniにあるWindows専用の設定"sendmail_from"と関数mail()/mb_send_mail()について。

メールアドレスをセットしておくと、そのメールアドレスがmail()やmb_send_mail()で送るメールのFrom、Return-Path、それにSMTPのMAIL FROM(エンベロープFrom) として使われる。

sendmail_fromがセットされていない場合、mail()/mb_send_mail()の第4引数の中で指定するメールheaderの中のFromが、Return-PathやエンベロープFromにも使われる。
その場合にFromにメールアドレスだけでなく表示名(例:山田 <foo@example.com>)も付けている場合は、メール送信に失敗する。
Fromの表示名も使いたい場合、メールheaderには表示名付きのFromをセットし、エンベロープFromには ini_set("sendmail_from", $from) でメールアドレスのみのFromをセットすればOK。

sendmail_fromもheaderの中のFromもセットされていない場合、メールの送信はできない。(Warning "sendmail_from" not set in php.ini or custom "From:" header missing in ... になる。)

0 件のコメント:

コメントを投稿