django邮件发送得很慢。

时间:2013-03-12 05:30:35

标签: python django email sendmail

我在django中使用EmailMessage发送邮件。这是我的代码:

  message = " test message "
  email = EmailMessage('test subject', message, to=['me@test.com'])
  email.send()

但是我需要向不同的人发送更多不同内容的电子邮件,所以如果我做了两次上面做的事情,发送邮件需要很长时间。像10秒或更长时间。有没有其他更简单,更快速的解决方案?

在PHP中它非常快。我可以在django中拥有这个吗?

非常感谢。

2 个答案:

答案 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

如果再次发送邮件速度很慢(在您看来),您必须检查服务器,重构代码并进行测试。