Django EmailLog Backend
Simple email backend for Django that writes messages to logger instead of sending them to a SMTP server.
Installation
Installation is easy using pip
pip install django-emaillog-backend
Usage
To ensure that all emails sent using the send_mail function of Django are sent to a log you must add the following line to your settings.py
file:
EMAIL_BACKEND = 'django_emaillog_backend.backends.LoggerBackend'
You can specify the logger to which the logs will be sent adding it to the settings.py
file
EMAIL_LOGGER_NAME = 'your_logger_name'
For example, you can create a custom logger to test the correct behaviour of sending mails as follow:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
...
},
'handlers': {
...
},
'loggers': {
...
'email_logger': {
'handlers': ['your_handler'],
'propagate': True,
'level': 'DEBUG',
},
}
}
EMAIL_BACKEND = 'django_emaillog_backend.backends.LoggerBackend'
EMAIL_LOGGER_NAME = 'email_logger'
The default logger for django-emaillog-backend
is the global Django logger called 'django'.
It is also possible to choose the severity level of messages sent to the logger adding the following to your settings.py
file:
EMAIL_LOGGER_LEVEL = logger_level
EMAIL_LOGGER_LEVEL
expects an integer. We recommend using the severity levels of the logging module:
logging.DEBUG (10)
logging.INFO (20)
logging.WARNING (30)
logging.ERROR (40)
logging.CRITICAL (50)
For example:
import logging
EMAIL_LOGGER_LEVEL = logging.INFO
The default log level is INFO
.