[PHP-users 30236] Re: 自分はPEAR使う派です。(Re:mail送信で教えてください)
Tadashi Jokagi
ml @ elf.no-ip.org
2006年 9月 4日 (月) 16:02:28 JST
ぢょ〜@よくきたなです.
KKuji_Y2aさんの「[PHP-users 30235] Re: 自分はPEAR使う派です。(Re:mail送信で教えてください)」から
>素朴な疑問ですが、mail()などを使うときに、
>このエンベロープFROMをあまり設定しているようではないですが、
>それは、単に無事に済んでいるだけで、
>本来は設定すべきものなのでしょうか?
本来エンベロープ from は適切に設定しなければいけないので,「設
定すべき」になると思います.ただこの設定をしていないとメール送信
は絶対に失敗するものではないので気づかない人も多いです.
>それとも、PHPが適当に設定しているのでしょうか?
ここはややこしいのですが,php-<VERSION>/ext/mail.c と Windows
の場合は php-<VERSION>/win32/sendmail.c が具体的な処理になります
が,Windows(と Netware)の場合,php.ini の sendmail_from の値があ
ればそれを,それがなければメールヘッダーの From: の値を使用します
(ついでに Windows は自分でソケットを開いて SMTP をしゃべります)
このとき第 5 引数は一切見ないようです.
逆にそれ以外は configure 時に見つけた sendmail か php.ini の
sendmail_path に第 5 引数をオプションが指定されていればそれを付加
して実行します.
#Windows は php.ini で sendmail_path が指定されていたら Windows でも
それを実行しようとするとかもう少しややこしいみたいですが
ここまで読むと気づくかもしれませんが,OS によって第 5 引数の意
味が変わってきます.なぜか? という話はこの関数が実装された時には
PHP を使っていなかったので知りません(苦笑 おそらく何となくこんな
感じになったんだと思います.
>もし、いつも設定したほうがよくて、一応デフォルトが設定できるなら
>言語機能を作るときにデフォルト設定は入れてしまったほうが
>安全(?)な気がしますが。
個人的にはデフォルトで設定できるにこしたことがないのですが,そ
うなっていないので,先日紹介した Mail_I18n では Windows 用の実装
のようにエンベロープ From の指定がなければ From を見るようにして
います.もうちょっとモチベーションがあったら mail() のパッチを書
いて bugs.php.net で提案したい気持ちもあったりはしますけど.
--
----.----1----.----2----.----3----.----4----.----5----.----6----.----7
Tadashi Jokagi/Shibuya city mailto:elf @ elf.no-ip.org
YokukitanaII http://elf.no-ip.org/
Yokukita blog http://blog.poyo.jp/
Yokukita wiki http://wiki.poyo.jp/
PHP-users メーリングリストの案内