Django 1.4.1错误报告不会给我发电子邮件

时间:2012-10-22 19:48:15

标签: django django-1.4

这个问题可能是一个重复的问题,对此感到抱歉。

我正在使用Django 1.4.1,在生产服务器上,我将DEBUG设置为False。 有时,用户会收到异常,服务器会显示500.html模板,但不会发送ADMINS settings.py部分中配置的电子邮件。

在应用程序中发送电子邮件已正确配置,因为在注册过程中我可以收到欢迎电子邮件。

settings.py的片段:

DEBUG = False
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    ('example', 'example@example.com'), # this changed but my email is correct
)

MANAGERS = ADMINS

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.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
    'django.middleware.transaction.TransactionMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}

2 个答案:

答案 0 :(得分:10)

这让我疯了一会儿。刚刚想通了:

ADMINS = (
    ('Your Name', 'your_email@example.com'),
                                         *****
)

最后那个逗号就是我忘记了,这足以打破它。以为我会分享它,所以像我这样的其他一些可怜的白痴可以为自己节省一些他原本可以拿出来的珍贵头发......

答案 1 :(得分:8)

您是否在设置中设置了SERVER_EMAIL。这是用于发送错误邮件的起始地址。默认为root @ localhost,可能会在SMTP中被阻止。可能想要将其设置为与DEFAULT_FROM_EMAIL

相同