0

これが今の私の設定です:

connection = mail.get_connection()
maillist = []

# my real setup is a little more complex for-loop, but basicly I add all recipients to a list. 
for person in object_list:
    mail_subject = "Mail subject here"
    mail_body = "Mail body text...bla bla"
    email_sender = "me@example.com"
    maillist.append((mail_subject, mail_body, email_sender, [person.email]))

#send_mass_mail wants a tuple, so we convert the list
mailtuple = tuple(maillist)
mail.send_mass_mail(mailtuple, fail_silently=False, connection=connection)

ただし、forloopは1000以上のオブジェクト/人を繰り返し、この方法を試すと、101通の電子メールを送信できて停止します。(私が見ることができるように)どこにもエラーはありません。

仲間の開発者は、POSTサイズが大きすぎるのではないかと述べました。SOコミュニティからのアイデアはありますか?

4

3 に答える 3

4

SMTP サーバーには、おそらくいくつかの送信制限があります。たとえば、Gmail は送信メールを 100 受信者に制限していると思います。

于 2011-03-29T17:58:57.840 に答える
2

POST 制限について言及したので、ビューでメールを送信しますか? セットアップでキャンセルされたリクエストをどのように処理するのか疑問に思っています。

管理コマンドを使用して 1000 件以上のニュースレターを送信しています。しかし、send_mass_mail の代わりに、通常の send メソッドをループで使用します。メールを送信するのに約 5 分かかります (正しいカウント atm ではありません)。まだサーバーの制限に達していません。

私の計画は、セロリに切り替えて、Web インターフェイスを介した送信を処理することです。まだご覧になっていない場合は、ご覧になることをお勧めします。

http://celeryproject.org/

于 2011-03-29T20:23:51.450 に答える
2

Micah が示唆したように、サーバーの制限に達している可能性は十分にあります。

一般に、大量のメールを処理する場合は、送信を抑制することを常にお勧めします。5 秒ごとに 50 通のメールを 300 秒間送信することは、smtp サーバーの制限を含む多くの実際的な理由から、一度に 3000 通のメールを処理するよりも優れています。

于 2011-03-29T18:02:53.257 に答える