Django не отправляет мне письмо, когда возникает ошибка 500 - PullRequest
1 голос
/ 21 июня 2019

После развертывания моего сайта я хотел бы получить электронное письмо с ошибками при возникновении ошибки 500.

Я могу отправлять обычные письма с send_mail. У меня также есть DEBUG= False, ADMINS=[('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 голосов
/ 21 июня 2019

Какое точное значение ADMINS? Исходя из вашего примера, это неправильный формат. Должно быть:

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

А не :

ADMINS = [('name'), ('name@email.com')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...