Skip to main content

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

Project description

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:

History

0.1.0 (2017-12-06)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django_des-2.4.1-py2.py3-none-any.whl (11.8 kB) Copy SHA256 hash SHA256 Wheel 2.7
django-des-2.4.1.tar.gz (10.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page