[Python] Django not sending error emails - how can I debug?

Discussão em 'Python' iniciado por Stack, Maio 12, 2025.

  1. Stack

    Stack Membro Participativo

    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...

Compartilhe esta Página