https://github.com/cdriehuys/django-email-utils
Utility functions to ease Django's email sending process.
https://github.com/cdriehuys/django-email-utils
django-application email-sender
Last synced: 10 months ago
JSON representation
Utility functions to ease Django's email sending process.
- Host: GitHub
- URL: https://github.com/cdriehuys/django-email-utils
- Owner: cdriehuys
- License: mit
- Created: 2018-06-17T21:45:43.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-15T18:40:48.000Z (over 3 years ago)
- Last Synced: 2025-02-06T23:45:29.050Z (11 months ago)
- Topics: django-application, email-sender
- Language: Python
- Size: 16.6 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
##################
django-email-utils
##################
.. image:: https://img.shields.io/travis/com/cdriehuys/django-email-utils/master
:alt: Travis CI Status
:target: https://travis-ci.com/cdriehuys/django-email-utils
.. image:: https://img.shields.io/codecov/c/github/cdriehuys/django-email-utils.svg
:alt: Codecov
:target: https://codecov.io/gh/cdriehuys/django-email-utils
.. image:: https://img.shields.io/pypi/v/django-email-utils
:alt: PyPI
:target: https://pypi.org/project/django-email-utils/
.. image:: https://img.shields.io/github/license/cdriehuys/django-email-utils
:alt: GitHub License
:target: https://github.com/cdriehuys/django-email-utils/blob/master/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)