django-emaillog-backend

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


Keywords
django, mail, log, logger, backend, plugin
License
MIT
Install
pip install django-emaillog-backend==0.1.2

Documentation

Django EmailLog Backend

Latest PyPI Version PyPI pyversions PyPI - Django Version

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:

# Add a custom logger to test mails
LOGGING = {
    '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 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.