我正在使用Django 1.8版本。这是我的基本设置文件:
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,
},
}
}
ADMINS = (
('ME', 'me@gmail.com'),
)
MANAGERS = ADMINS
这些是我的生产设置:
########## EMAIL CONFIGURATION
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'my.error.account@gmail.com'
EMAIL_HOST_PASSWORD = utils.get_env_setting('GMAIL_PASS')
EMAIL_SUBJECT_PREFIX = '[%s] ' % SITE_NAME
SERVER_EMAIL = EMAIL_HOST_USER
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
########## END EMAIL CONFIGURATION
以前在生产环境中会发送错误电子邮件,但现在已经停止。我设置了一个返回 500 错误的页面,以便进一步测试 - 当我加载它时不会发送任何电子邮件。
我尝试调试明显的问题:
- 我仍然可以登录到
my.error.account@gmail.com
,并且似乎没有被阻止。 - 我已检查我的垃圾邮件过滤器。
- 我确定
DEBUG
已设置为 false。 - 我相信 Django 用户可以使用
GMAIL_PASS
环境变量。
我如何进一步调试这个问题?
HOST
设置为localhost
,将PORT
设置为1025
,禁用TLS
并使用以下命令运行虚拟SMTP服务器:python -m smtpd -n -c DebuggingServer localhost:1025
。 - zopieux