我有一个Django项目需要发送大约600封电子邮件。我有Celery设置,它在大多数情况下都有效。我将Django项目设置为使用我的Google Apps(商业版 - 即:付费)电子邮件帐户作为发送帐户。出于测试目的,我将每封电子邮件发送给我 - 而不是发送给客户。
我遇到的问题是Celery似乎随机跳过列表中的人。当我开始发送所有600封电子邮件的过程时,Celery会离开,发送电子邮件(我可以看到它们显示在我的收件箱中),但我只收到大约420封电子邮件。当Celery完成时,仍然有180个左右需要电子邮件的人。如果我再次点击“发送电子邮件”仅剩下的180个人,它将完成工作,并且在两次尝试结束时,将向所有600人发送电子邮件。
为什么芹菜会跳过人?
答案 0 :(得分:3)
是的,你会得到那些gmail错误,但这并不是特别可预测的。
您可以使用django-mailer
- 我这样做,并通过让django-mailer
自动重试失败的发送尝试直到成功为止来处理这些gmail连接错误。
查看这个问题,了解更多人建议你只使用django-mailer和celery邮件。 Advice on Python/Django and message queues