现在是我的设置:
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社区的任何想法?
答案 0 :(得分:2)
您的SMTP服务器可能有一些发送限制。例如,我认为Gmail会将外发邮件限制为100个收件人。
答案 1 :(得分:1)
正如Micah所说,你很有可能达到服务器限制。
通常,在处理群发邮件时,限制发送总是一个好主意。由于包括smtp服务器限制在内的许多实际原因,每5秒钟发送50封邮件300秒,一次打3000邮件。
答案 2 :(得分:1)
由于您提到了POST限制 - 您是否在视图中发送了电子邮件?我想知道您如何在设置中处理已取消的请求。
我正在使用管理命令发送1000多个简报。但是我没有使用send_mass_mail而是在循环中使用普通的send方法。发送邮件大约需要5分钟(没有正确的计数atm),我还没有遇到任何服务器限制。
我的计划是切换到芹菜来处理通过网络界面发送。也许你想看看它,以防你还没有。