2

配置 Django 以将错误电子邮件发送到特殊电子邮件帐户的最简单方法是什么?

错误电子邮件上的文档没有明确提到任何方法来做到这一点。我知道如何编写可以查找和使用不同凭据的自定义电子邮件后端,但由于 EmailBackend._send 方法只接收消息,我不确定如何检测消息何时响应 500 服务器错误。

4

2 回答 2

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。

请参阅: Django 中 Python 日志记录的优雅设置

和 :

https://docs.djangoproject.com/en/dev/topics/logging/#an-example

如果您想使用另一个 SMTP 服务器,请使用异常中间件。

http://docs.djangoproject.com/en/dev/topics/http/middleware/#process-exception

在该process_exception方法中,您可以将异常的追溯通过电子邮件发送到所需的电子邮件帐户。

于 2013-06-24T17:50:41.620 回答
0

https://stackoverflow.com/a/19001979/483642这比下面的答案容易得多。您只需要继承django.core.mail.backends.smtp.EmailBackend并设置email_backend您的日志记录配置。

于 2014-10-13T06:27:28.050 回答