Python / Django EmailMultiAlternatives发送多封电子邮件

时间:2013-08-02 12:51:02

标签: python django email

我想在视图中发送多封电子邮件。 我需要的是,该视图发回响应并在后台发送电子邮件。

我跑的时候

return EmailMultiAlternatives(subject,
                             t,
                             sender,
                             recipients,
                             bcc=bcc).send()

视图在发送一两封电子邮件之前不会发送响应。

我想问为什么

    yield EmailMultiAlternatives(subject,
                             t,
                             sender,
                             recipients,
                             bcc=bcc).send()

说明不发送我的电子邮件? 为什么收益率不像我想要的那样?

1 个答案:

答案 0 :(得分:1)

Django框架(与Tornado不同,或Twisted)在同步/阻塞模式下工作,在完成所有操作之前,视图不会返回响应。

如果您不想等待发送电子邮件,则应该查看celerydjango-celery个软件包。定义一个任务,将其放在视图中的队列中,返回响应并让工作人员“在后台”完成工作。

另见,见:

希望有所帮助。

相关问题