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', 'me@gmail.com'), ) 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 = '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 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: I can still log into my.error.account@gmail.com and it doesn't seem to have been blocked. I've checked my spam filter. I'm certain that DEBUG is set false. I believe the GMAIL_PASS environment variable is available to the Django user. How can I debug this further? Continue reading...