Reputation: 65510
I'm using Django 1.8. This is my base settings file:
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', '[email protected]'),
)
MANAGERS = ADMINS
And these are my production settings:
########## 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 = '[email protected]'
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
It used to send error email in production, but has stopped. I've set up a page that returns 500 errors so that I can test this further - no emails being sent when I load it.
I've tried debugging the obvious things:
[email protected]
and it doesn't seem to have been blocked. DEBUG
is set false. GMAIL_PASS
environment variable is available to the Django user. How can I debug this further?
Upvotes: 16
Views: 12867
Reputation: 9616
For the debugging part of the question
@zopieux commented:
First, check that mails are being sent. Set:
EMAIL_HOST = 'localhost' EMAIL_PORT = 1025 EMAIL_USE_TLS = False EMAIL_USE_SSL = False
Then run a dummy SMTP server:
python -m smtpd -n -c DebuggingServer localhost:1025
If this works, you can revert the changes and manually send an email as described in this relevant question:
from django.core.mail import EmailMessage
email = EmailMessage('Hello', 'World', to=['[email protected]'])
email.send()
For the feature of using Google as SMTP server:
The most popular -and updated- answer of the question states that Google does not support anymore this feature (2016) and that you should try to find another SMTP server.
I have posted my working logging configuration for reference.
Upvotes: 10