If your sending email it's likely that you want to render the body text from template, but there's currently no shortcut to send an email based on a template.
The attached patch is based on a stripped down version of https://github.com/bradwhittington/django-templated-email
django.shortcuts.send_templated_mail, which mirrors the existing
send_mail, but which renders the subject and body of the mail from a template, rather than taking their values explicitly. It also supports multipart html/plaintext emails.
The docs will look something like this...
**send_templated_mail(template_name, from_email, recipient_list, dictionary=None, context_instance=None, fail_silently=False, auth_user=None, auth_password=None, connection=None):**
Sends a mail, rendering the subject and body of the email from a template.
The template should contain a block named 'subject', and either/both of a 'plain' and/or 'html' block.
If only the 'plain' block exists, a plaintext email will be sent.
If only the 'html' block exists, the plaintext component will be automatically generated from the html, and a multipart email will be sent.
If both the 'plain' and 'html' blocks exist, a multipart email will be sent.
`template_name` - The template that should be used to render the email.
`from_email` - The sender's email address.
`recipient_list` - A list of reciepient's email addresses.
`dictionary` - The context dictionary used to render the template. By default, this is an empty dictionary.
`context_instance` - The Context instance used to render the template. By default, the template will be rendered with a Context instance (filled with values from dictionary).
`fail_silently` - As in `send_mail`.
`auth_user` - As in `send_mail`.
`auth_password` - As in `send_mail`.
`connection` - As in `send_mail`.