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

睦月 mutsuki @ mf.point.ne.jp
2010年 4月 21日 (水) 17:36:49 JST


睦月と申します。

> はい、知っています。
> ただ、非効率ということであって、不可能ということで
> はないと理解してます。
> 
> もしかして、mail関数がエラーを返したのは、
> 「SMTPソケットを開けなかった」ということなんでしょうか?
> そうれであれば、sendmailにわたらなかったので
> sendmailのログにも記載されなかったという理由が
> 納得できます。
> ただ、phpのエラーログに記録されなかったのは
> 不明ですが。
> 
> で、これが原因だとすると、
> この現象を回避する方法はどんなことが
> 考えられるのでしょうか?

ソケット数の上限に達していると仮定するならば、そもそもmail関数を使用しな
いというのが最も有効ではないでしょうか。

OS の設定を変更して同時に開けるソケット数を変更する方法もありますが、
SMTP はもともと 1 セッションで複数のメールを送信できるように作られていま
すので、メールの送信という目的だけでソケット数の上限を変更するメリットは
薄いと思います。

他の方も書かれていらっしゃいますが、数千通のメールを処理したいのであれば、PEAR_Mail 
などの、SMTP ソケットを無駄に使用しない方法をおすすめします。

--
睦月



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