我在django中使用EmailMessage
发送邮件。这是我的代码:
message = " test message "
email = EmailMessage('test subject', message, to=['me@test.com'])
email.send()
但是我需要向不同的人发送更多不同内容的电子邮件,所以如果我做了两次上面做的事情,发送邮件需要很长时间。像10秒或更长时间。有没有其他更简单,更快速的解决方案?
在PHP中它非常快。我可以在django中拥有这个吗?非常感谢。
答案 0 :(得分:3)
如果您需要发送多封电子邮件并希望加快此过程,可以使用Django的send_mass_mail
功能。该文档非常清楚如何使用它;这是一个示例表单:
message1 = ('Subject here', 'Here is the message', 'from@example.com', ['first@example.com', 'other@example.com'])
message2 = ('Another Subject', 'Here is another message', 'from@example.com', ['second@test.com'])
send_mass_mail((message1, message2), fail_silently=False)
这将为所有电子邮件重复使用单个连接。
答案 1 :(得分:1)
扩展到@Thomas Orozco的答案。
django-pigeonpost - 允许您设置发送邮件的时间等等......
https://github.com/dragonfly-science/django-pigeonpost
django cron - 从webapp的第一个请求开始,它将每300毫秒(0.3秒)发送一次电子邮件
https://sites.google.com/site/vigeblog/blog/sendmailswithdjango
如果再次发送邮件速度很慢(在您看来),您必须检查服务器,重构代码并进行测试。