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.
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)), ]
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"
- 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
Python
- 2.7
- 3.4
- 3.5
- 3.6
Django
- 1.8
- 1.9
- 1.10
- 1.11
- 2.0
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
Tools used in rendering this package: