Django通过电子邮件发送错误消息

时间:2012-07-21 03:00:18

标签: django email

我一直在努力让电子邮件在Django中用于记录以及500和404错误,而对于我的生活,我无法让它工作。我有DEBUG=False和所有其他设置。我在电子邮件设置中有以下内容:

EMAIL_HOST = 'host'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'username'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_SUBJECT_PREFIX = 'something'
EMAIL_USE_TLS = True
SERVER_EMAIL='blah@blah.com'

我正在使用Amazon SES进行上述设置。我还有以下内容:

SEND_BROKEN_LINK_EMAILS=True
ADMINS = (
    ('name', 'email'),
)
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
)

还有什么我想念的吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:4)

是的,接收ADMINS = ()的{​​{1}}不是SEND_BROKEN_LINK_EMAILS,而是MANAGERS = ()

https://docs.djangoproject.com/en/dev/ref/settings/#managers

https://docs.djangoproject.com/en/dev/howto/error-reporting/#errors

在ADMINS下添加此权限,它应该有效:

MANAGERS = ADMINS

您可能还想在设置中指定EMAIL_BACKEND,例如假设SMTP:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

https://docs.djangoproject.com/en/dev/ref/settings/#email-backend