2010年4月21日

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

大垣です。

加藤さんも指摘されている通り、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@xxxxx
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年4月21日 18:23
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95243
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。