django send_mail获得结果

时间:2010-07-30 21:32:38

标签: django email

如何获取电子邮件发送的django send_mail结果。我在本地运行它,我发送send_mail到我的电子邮件,它返回True,但是没有发信(因为我没有设置任何smtp)。但结果是真的。如何获得真实的结果?

3 个答案:

答案 0 :(得分:4)

使用django-mailer。它将电子邮件放入数据库并使用cron-jobbed管理命令将其发送出去。它可以帮助您跟踪此问题,缩短应用响应时间,并让您的生活更轻松。

答案 1 :(得分:3)

Django使用异常来处理电子邮件发送问题。 send_mail返回的值是已发送的电子邮件数。

如果你没有得到例外,它可能是许多事情之一:

  • 您将fail_silently设置为True(默认为False)
  • 您正在使用不同的电子邮件后端(smtp是1.2+的默认设置,是早期版本的唯一选项)
  • 邮件实际上已发送,但其他错误(电子邮件服务器,错误的电子邮件地址,垃圾邮件文件夹,gmail自发邮件隐藏等)

答案 2 :(得分:1)

我还建议使用例外来确定是否发送了电子邮件。 如果您没有时间或选项来设置电子邮件服务器,我建议使用django + gmail。你可以创建一个'假的'gmail帐户(如果你已经拥有gmail-acc,可以创建另一个帐户,它可能是'baned')并使用其SMTP作为发送电子邮件的机会,即使你正在使用django的开发服务器( localy)。 How to is here