Ich benutze Django 1.8. Dies ist meine Grundeinstellungsdatei:Django sendet keine Fehler-E-Mails - wie kann ich debuggen?
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
Und das sind Produktionseinstellungen:
########## 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
Es verwendet Fehler E-Mail in der Produktion zu senden, aber nicht mehr. Ich habe eine Seite eingerichtet, die 500 Fehler zurückgibt, so dass ich das weiter testen kann - keine E-Mails werden gesendet, wenn ich sie lade.
Ich habe versucht, die offensichtlichen Dinge debuggen:
- ich noch in
[email protected]
anmelden und es scheint nicht blockiert worden zu sein. - Ich habe meinen Spamfilter überprüft.
- Ich bin sicher, dass
DEBUG
falsch gesetzt ist. - Ich glaube, die
GMAIL_PASS
Umgebungsvariable ist für den Django-Benutzer verfügbar.
Wie kann ich das weiter debuggen?
Überprüfen Sie zunächst, ob E-Mails gesendet werden. Setzen Sie den 'HOST' auf' localhost', den 'PORT' auf' 1025', deaktivieren Sie 'TLS' und führen Sie einen Pseudo-SMTP-Server mit folgendem Befehl aus:' python -m smtpd -n -c DebuggingServer localhost: 1025' – zopieux
Im Fall es hilft jedem, es hat eine Weile gedauert, bis ich herausgefunden habe, dass Sie nicht nur die 'mail_admins' unter dem' handlers' Schlüssel angeben müssen, sondern ** ** auch ** diesen Handler unter dem 'loggers' Schlüssel aktivieren müssen –