Pythonic utility for sending template based emails with Django.
Install the package:
pip install incuna_mail
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',
)