django-des

A reusable Django application and EmailBackend that allows email configuration to be changed while the server is running.


Keywords
django-des, admin-panel, django, email, python
License
MIT
Install
pip install django-des==1.0.0

Documentation

Django Dynamic Email Settings

image1 image2 image3 image4

A reusable Django application, admin panel, and EmailBackend that allows email configuration to be changed while the server is running. The goal of the project is to be the absolute easiest way to get email configured across multiple environments.

image5

Quickstart

  • Install Django Dynamic Email Settings:

    $ pip install django-des
    
  • Add it to your `INSTALLED_APPS`:

    INSTALLED_APPS = (
        ...
        'des',
        ...
    )
  • Add the dynamic email configuration email backend to settings.py

    EMAIL_BACKEND = 'des.backends.ConfiguredEmailBackend'
  • Run manage.py migrate des

  • To enable test email support, add Django DES's URL patterns:

    from des import urls as des_urls
    
    
    urlpatterns = [
        ...
        url(r'^django-des/', include(des_urls)),
    ]

Settings

  • DES_TEST_SUBJECT: Set to override the default test email subject line. (Default: "Test Email")

    Example:

    DES_TEST_SUBJECT = "My New Subject"
  • DES_TEST_TEXT_TEMPLATE: Set to override the template used for text test emails. Note that this is a template file location, not a template string. (Default: "des/test_email.txt")

    Example:

    DES_TEST_TEXT_TEMPLATE = "myapp/email/test_email.txt"
  • DES_TEST_HTML_TEMPLATE: Set to enable HTML emails and use the template provided as the text/html content. (Default: None)

    Example:

    DES_TEST_HTML_TEMPLATE = "myapp/email/test_email.html"

Features

  • Configure email on the fly, no need to restart the server
  • Send test emails from the Django Admin panel
  • Test text and HTML email sending
  • Supports third party mail packages like django-mailer

Support

Python

  • 2.7
  • 3.4
  • 3.5
  • 3.6

Django

  • 1.8
  • 1.9
  • 1.10
  • 1.11
  • 2.0

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements_dev.txt
(myenv) $ pip install -r requirements_test.txt
(myenv) $ tox

Credits

Tools used in rendering this package: