配置Django将错误电子邮件发送到特殊电子邮件帐户的最简单方法是什么?
错误电子邮件中的docs没有明确提及任何方法。我知道如何编写可以查找和使用不同凭据的自定义email backend,但由于EmailBackend._send方法只接收消息,我不知道如何检测消息何时响应500服务器错误。
答案 0 :(得分:4)
您使用日志记录设置将500个错误邮寄给管理员电子邮件ID。
日志记录设置示例:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
}
}
}
这会将django中的所有500个错误邮寄到上述电子邮件ID中。
请参阅: Elegant setup of Python logging in Django
和:
https://docs.djangoproject.com/en/dev/topics/logging/#an-example
如果要使用其他SMTP服务器,请使用异常中间件。
http://docs.djangoproject.com/en/dev/topics/http/middleware/#process-exception
在process_exception
方法中,您可以通过电子邮件将异常回溯电子邮件发送到必需的
电子邮件帐户。
答案 1 :(得分:0)
https://stackoverflow.com/a/19001979/483642这比下面的回答容易。您只需要继承django.core.mail.backends.smtp.EmailBackend
并在日志配置中设置email_backend
。