incuna-mail

Pythonic utility for sending template based emails with Django.


License
MIT
Install
pip install incuna-mail==4.1.1

Documentation

Incuna Mail Build Status Coverage Status Wheel Status Latest Version

Pythonic utility for sending template based emails with Django.

Installation

Install the package:

pip install incuna_mail

Usage

Import the send function and call it:

from incuna_mail import send

send(
    to='foo@example.com',
    subject='Example email',
    template_name='plaintext_email.txt',
)

Supports cc and bcc...

send(
    to='foo@example.com',
    cc='bar@example.com',
    bcc='baz@example.com',
    ...
)

... lists of recipients...

send(
    to=['foo@example.com', 'bar@example.com'],
    cc=['spam@example.com', 'eggs@example.com'],
    ...
)

... multi-part emails...

send(
    ...
    template_name='plaintext_email.txt',
    html_template_name='html_email.html',
)

... template context...

send(
    ...
    context={'user': user},
)

... template lists...

send(
    ...
    # Uses the first template found.
    template_name=['might-exist.html', 'will-exist.html'],
)

... reply-to addresses...

send(
    ...
    reply_to=['another@example.com'],
)

... and custom email headers:

send(
    ...
    headers={'Extra-Header': 'This will appear among the email headers'}
)

The email sender can be set globally with settings.DEFAULT_FROM_EMAIL, and will default to settings.SERVER_EMAIL. It can be explicitly set on each call, if required:

send(
    ...
    sender='eggy-mcspambot@example.com',
)