Django email backend that writes messages to logger instead of sending them by SMTP.

pip install django-emaillog-backend==0.1.1


Django EmailLog Backend

Latest PyPI Version PyPI pyversions

Simple email backend for Django that writes messages to logger instead of sending them to a SMTP server.


Installation is easy using pip

pip install django-emaillog-backend


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 file:

EMAIL_BACKEND = 'django_emaillog_backend.backends.LoggerBackend'

You can specify the logger to which the logs will be sent adding it to the 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:

# Add a custom logger to test mails
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
    'handlers': {
    'loggers': {
        'email_logger': {
            'handlers': ['your_handler'],
            'propagate': True,
            'level': 'DEBUG',

# Configure the email backend
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 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

The default log level is INFO.