发生错误500时,Django未向我发送电子邮件

时间:2019-06-20 22:58:49

标签: django

部署网站后,如果出现错误500,我想收到一封包含错误的电子邮件。

我能够使用send_mail发送普通电子邮件。我也有DEBUG= FalseADMINS=[('name', 'email')]SERVER_EMAIL = "domain email",但是我没有收到任何电子邮件。

我相信是因为我为handler500创建了自定义模板

urls.py

handler500 = myapp.error_500

views.py

def error_500(request):
    data = {}
    return render(request,'.../error_500.html', data)

如何获得错误的电子邮件?

更新

删除自定义处理程序500后,我收到了错误电子邮件。 因此,在自定义方法error_500中,我的问题是,我知道如何设置电子邮件,但是如何获取错误报告并将其包含在正文中。我应该在msg_plain中放入什么

views.py

def error_500(request):
    if IN_PROD:
         sender='admin@myapp.com',
         to_email='admin@email.com',
         mail_subject='500 ERROR ALERT',
         msg_plain = DJANGO ERROR REPORT??? 

         send_mail(mail_subject, msg_plain,from_email=sender, recipient_list=[to_email])
    data = {}
    return render(request,'.../error_500.html', data)

1 个答案:

答案 0 :(得分:0)

ADMINS的确切值是多少?根据您的示例,它是错误的格式。应该是:

ADMINS = [('name', 'name@email.com')]

不是

ADMINS = [('name'), ('name@email.com')]