Skip to main content

A simple Django app to create emails based on database or filesystem templates.

Project description



Django app that enables developers to create default templates for emails
and Site Admins to easily override the templates via Admin Panel.


* Site Admins should know context for each template.
* Site Admins should be familiar with Django Template System.



* EmailFromTemplate.send_email - added new param: fail_silently
- When it’s False, msg.send() will raise an smtplib.SMTPException if an error occurs.


* Fix confusing logger stating that email was sent even though an error had occured
* cosmetic changes - logging messages possible to be aggregated by tools like sentry


* Basic mass mailing feature. Just go to admin, create new MassEmailMessage object and fill its subject, HTML content and attachments.
Click admin button to send it or use Django shell. Emails are be default sent to all active users of user model (it must have is_active and email fields).
In case of many application users sending emails using admin button may require to implement sending from queue rather than synchronously.
You can create custom recipients function returning list and specify reference to it in MASS_EMAIL_RECIPIENTS setting.
* `EmailFromTemplate.send()` now receives `attachments_paths` parameter of paths that can be used by `EmailMessage.attach_file()` django core method.


* Django 1.11 compatibility fix


* Django 1.11 compatibility


* `help_context` parameter of `EmailRegistry.register()` may now contain tuple of description and example value shown in preview
* Changed EmailTemplateAdminForm title to use ChoiceField choices as lazy function. This way all registered templates are printed in admin form, independent of order Python loads application modules.


* better admin panel
* show email preview action
* set default email content from related template


* This version introduced **backward incompatible** EmailTemplateRegistry.
* All EmailTemplates must be registered using email_templates.register(path). Not registered email templates will raise NotRegistered exception. Registry validation can be avoid by creating email template with flag registry_validation set to False.
* Removed prefix from EmailFromTemplate. All templates must be located in {{templates}}/emailtemplates.

* Set default email title if is not defined in the database.

* Added missing migration


* Check syntax errors in EmailTemplate's content (admin form)

* Added missing migrations

* Migrations dir fix


* Compatibility with Django 1.10


* Fixed template loader error - added default Engine


* Django 1.8.8 required

Project details

Download files

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

Source Distribution

django-emailtemplates-1.1.2.tar.gz (14.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page