Skip to content
develop
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.rst

Django-Email-Bandit

Build Status

master:Build Status
develop:Build Status

A Django email backend for hijacking email sending in a staging/test environment. It extends the default SMTP backend to intercept outgoing emails and instead send them to a single email address that you specify. It does not intercept emails going to the site admins (as defined by the ADMINS setting) so it will not interfere with 500 error emails.

You can also configure the hijacked emails to be logged through standard Python logging. Mixin classes are provided to use the same hijack logic for any existing email backend such as django-ses.

Requirements

  • Python 2.7 or 3.5+
  • Django >= 1.8 (supported versions)

Installation

To install django-email-bandit via pip:

pip install django-email-bandit

Add django-email-bandit to your installed apps:

INSTALLED_APPS = (
    ...
    'bandit',
    ...
)

For your test environment you should enable the backend:

EMAIL_BACKEND = 'bandit.backends.smtp.HijackSMTPBackend'

and set the email which will receive all of the emails:

BANDIT_EMAIL = 'bandit@example.com'

or even multiple addresses:

BANDIT_EMAIL = ['bandit@example.com', 'accomplice@example.com']

It's also possible to whitelist certain email addresses and domains:

BANDIT_WHITELIST = [
    'iloveemail@example.com',  # Just this specific email address
    'example.net'   # All email addresses @example.net
]

Documentation

Full project documentation is on Read the Docs.

Questions or Issues?

If you have questions, issues or requests for improvements please let us know on Github.

Development sponsored by Caktus Consulting Group, LLC.

About

A Django email backend for hijacking email sending in a test environment.

Resources

License

Languages

You can’t perform that action at this time.