7

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

我正在使用和在我设置为Django 1.4.1的生产服务器上。有时用户会收到异常并且服务器显示模板但不发送在.DEBUGFalse500.htmlADMINSsettings.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,
        },
    }
}
4

2 回答 2

10

这已经让我发疯了一段时间。刚刚想通了:

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

最后那个逗号是我忘记的,这足以打破它。以为我会分享它,以便像我这样的其他可怜的白痴可以为自己节省一些宝贵的头发,否则他可能会拔掉……

于 2013-08-18T00:57:10.637 回答
9

您是否在设置中设置了 SERVER_EMAIL。那是用于发送错误邮件的发件人地址。默认为 root@localhost,它可能会在 SMTP 处被阻止。可能希望将其设置为与 DEFAULT_FROM_EMAIL 相同

于 2012-11-20T17:45:57.260 回答