[PHP-users 35144] Re: phpのmail関数がたまにfalseを返す

Yasuo Ohgaki yohgaki @ ohgaki.net
2010年 4月 21日 (水) 18:23:14 JST


大垣です。

加藤さんも指摘されている通り、UNIXなのでソケットは関係ありません。
popenでsendmailコマンドを実行します。

ext/standard/mail.c のphp_mailを読めばfailになる条件はいろいろあるのですが、
pclose()で0以外が返ってきていることが分かります。この場合、PHPのエラーは
発生しません。(PHP 5.2のソースを見ました)

LinuxでなくOSXのpcloseのmanページだと

     The pclose() function waits for the associated process to
terminate; it returns the exit
     status of the command, as returned by wait4(2).

wait4のエラーを知ってもあまり意味がないと思うので、sendmailコマンドが
失敗する原因を考えた方が良いと思います。

当てずっぽうですがulimitなどが原因のような気がします。

--
Yasuo Ohgaki
yohgaki @ ohgaki.net


PHP-users メーリングリストの案内