[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 メーリングリストの案内