Skip to main content

Django utility for sending email messages.

Project description

Travis CI Status Codecov PyPI GitHub License

A utility function to ease the process of sending templated emails with Django.

Requirements

  • Python version 3.5 or higher

  • Django version 2.2 or higher

Installation

Install from PyPI:

pip install django-email-utils

Usage

email_utils.send_email(template_name, context=None, **kwargs)

Send templated emails containing HTML, plain text, or both. The function is a thin wrapper around Django’s send_mail function that loads the email content from a template.

Example:

from email_utils import send_email


send_email(
    context={'foo': 'bar'},
    from_email='no-reply@myproject.com',
    recipient_list=['test@example.com'],
    subject='My Templated Email',
    template_name='myapp/template',
)

Parameters

template_name

The base name of the templates to use. The function then looks for the templates {template_name}.html and {template_name}.txt.

context

The context used to render the templates. Defaults to an empty dictionary.

**kwargs

Additional keyword arguments to pass to Django’s send_mail function.

Raises

email_utils.NoTemplatesException

If neither the HTML nor plain text templates are found.

Testing

Tests are run using pytest. To run the tests, install the requirements and then execute the tests:

pip install -r requirements/test.txt
pytest

License

This project is licensed under the MIT License.

Authors

Chathan Driehuys (chathan@driehuys.com)

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-email-utils-1.0.0.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

django_email_utils-1.0.0-py2.py3-none-any.whl (5.3 kB view hashes)

Uploaded Python 2 Python 3

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