[PHP-users 18779]Re: mail()を使って大量メール送信

Y.Watanabe yuw @ msj.biglobe.ne.jp
2003年 11月 4日 (火) 16:12:12 JST


渡辺です。

rso gamba wrote on 2003/11/02 21:36
with Subject: [PHP-users 18761] Re: mail()を使って大量メール送信

>岸田様にご指摘いただいたように、
>forループでmail()を呼び出すごとに、
>ループ回数をechoするようにしてみたところ、
>ループ回数を18回にしているにも関わらず
>15までしかアウトプットされませんでした。
>
>とりあえず問題の切り分けということで、
>set_time_limit(0)としてみましたところ、
>こんどはきっちり18まで表示され、メールも
>18通送信されました。
>
>mail()はsmtpサーバーと通信して送信できたかどうかを
>返すので、その分多少のオーバーヘッドは仕方ないもの
>なのでしょうか?
>アドバイスいただいたとおり、20通弱でこのオーバーヘッドと
>いうことは、500通となってきますと少し苦しいかな、と
>感じています。

すでに話がでていますが、メールサーバ側の問題もありそうですね。
メールサーバ側が、性能的or設定的に、沢山のメール送信依頼を
いっぺんに受け取れ切れないとか。

PHPが処理に時間がかかる場合には
php.iniのmax_execution_time等の設定値に引っかかる問題もありますし、また、

>環境
>windows2003 server
>php4.3.2 win

だそうで、Webサーバが何なのか(Apache?IIS?)にもよりますが
たとえばApacheならhttpd.confのtimeout値も大きめに
とらなければPHPが処理を途中で終了しかねないでしょうし。

ということで、時間のかかりそうな処理は、画面のPHPからやるのではなく
PHPのCLIを使ってコマンドラインから起動するような方式を考えた
ほうがよいのでは?





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