ここから本文です

mb_send_mail()を使ったメール送信には、1度に指定できるメール数の制限はどのよ...

hagaki100さん

2008/4/2713:35:33

mb_send_mail()を使ったメール送信には、1度に指定できるメール数の制限はどのようになっているでしょうか?

phpのmb_send_mail()を使ったメール送信では、
200通などの指定はできないようです…
メール数の制限なのか、メールアドレスの文字数の長さで一斉メール送信数が決まるのか…
このあたりをご存知の方がいらっしゃれば、教えていただけないでしょうか?

よろしくお願い致します。

閲覧数:
3,331
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

tomoqyさん

編集あり2008/4/2802:03:50

メールの同時配信の制限はPHPではなく、sendmailのMaxRecipientsPerMessage変数
(Postfixではsmtpd_recipient_limit変数)で設定されています。
ただ、mb_send_mailはメールを1通送るたびにSMTP ソケットを開いて→閉じてを繰り返すので、
非常に効率が悪く、すでに回答されてるようにタイムアウトの要因になります。

PHPマニュアルにも以下のように書かれていますので、専用のライブラリを使う方がよさそうです。
(mb_send_mailはmail関数のラッパーです)


--------
http://phpspot.net/php/man/php/function.mail.html

注意: mail() 関数は、大量のメールをループ内で送信するには 向いていないことに注意しましょう。
この関数は 1 通のメールを送信するたびに SMTP ソケットをいったん閉じて開きなおします。これは非効率的です。

大量のメールを送信する場合は、 PEAR::Mail および PEAR::Mail_Queue パッケージを参照ください。

質問した人からのコメント

2008/4/30 16:11:59

降参 注意書きを読みました。しっかりと、大量送信には不向きと…pearを確認してみたいと思います。ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

2008/4/2723:59:26

メール数ってことはforeachか何かでループさせてmb_send_mail()を実行してるってことですか?
だったら、PHPの実行時間が経過してる可能性があります。

set_time_limit( 0 );

これを設定すれば実行時間は無視できますが、不用意に扱うと危険ですので注意してください。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。