也许只是因为我以前从未在Django上设置过电子邮件系统,或者我错过了它……但是,有人知道如何正确配置django邮局来发送排队的电子邮件吗?
我有一个1500多人的邮件列表,并在heroku上托管我的应用程序-使用标准的电子邮件系统不起作用,因为我需要向每个用户发送自定义的电子邮件,并且一个接一个地连接到服务器会导致超时。
我已经通过pip install安装了django-post_office,在settings.py中安装了应用程序,我甚至可以通过以下方式获得要发送的电子邮件:
mail.send(['recipient'],'sender',subject='test',message='hi there',priority='now')但是,如果我尝试从现在开始安排30秒,假设:
nowtime = datetime.datetime.now()
sendtime = nowtime + datetime.timedelta(seconds=30)然后
mail.send(['recipient'],'sender',subject='test',message='hi there',scheduled_time=sendtime)什么都没发生。时间过去了,电子邮件仍然被列为已排队,并且我没有收到任何电子邮件。
我有一种感觉,因为我还需要设置芹菜/ RQ / Cron?但文档似乎表明,它应该开箱即用。我遗漏了什么?
谢谢大家
发布于 2020-07-20 15:56:56
实际上,你可以在文档中找到(在我写这篇评论的时候):
用法
如果你使用post_office的EmailBackend,它将在数据库中自动对使用django的send_mail发送的电子邮件进行排队。
要实际发送它们,请运行python manage.py send_queued_mail。您可以通过cron安排它定期运行:
* * * * * (/usr/bin/python manage.py send_queued_mail >> send_mail.log 2>&1)https://stackoverflow.com/questions/57453600
复制相似问题