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',
)