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

blueseeds @ skysnow.jp blueseeds @ skysnow.jp
2010年 4月 21日 (水) 17:39:42 JST


ナカジマです。
何度もすみません。

以下、インラインにて。

----
On Wed, 21 Apr 2010 17:10:41 +0900
choice <info @ choice-site.com> wrote:
> はい、知っています。
> ただ、非効率ということであって、不可能ということで
> はないと理解してます。
> 
> もしかして、mail関数がエラーを返したのは、
> 「SMTPソケットを開けなかった」ということなんでしょうか?
> そうれであれば、sendmailにわたらなかったので
> sendmailのログにも記載されなかったという理由が
> 納得できます。
マニュアルで「非効率」とか「推奨されない」と書いてある場合、
十中八九、その方法は使用しないほうが賢明です。
言語として理論上は動作するが、確実な動作保証がないということです。
mail()関数がfalseを返すケースについては、
phpのソースを落としてきてmail関数を定義しているソースを
ほじくってみればわかると思います。
※すみません、私はまだほじってないので^^;


> ただ、phpのエラーログに記録されなかったのは
> 不明ですが。
前のメールにも書きましたが、
errorやwarningなどではなく
boolean型の「false」が帰ってきているわけですよね?
つまり、それはマニュアルにも書いてあるとおり、
php自身はmail()関数内において正常処理、
(判定による意図的なエラー処理も含む)
つまり、想定の範囲内の動きをしたわけです。
phpにとってそれはエラーではありません。

エラーログにでるということは、
phpとして想定外の動きをされたので例外処理をしたということです。



-- 
ナカジマ
 <blueseeds @ skysnow.jp>



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