Sending HTML email
Posted: April 12th, 2010 | Author: Davo | Filed under: Django | Tags: EmailMultiAlternatives, sendhtmlemail | 7 Comments »It is possible to send a HTML email using the EmailMultiAlternatives
Example:
from django.core.mail import EmailMultiAlternatives
from django.template.loader import render_to_string
from django.utils.html import strip_tags
subject, from_email, to = 'Order Confirmation', 'admin@yourdomain.com', 'someone@somewhere.com'
html_content = render_to_string('the_template.html', {'varname':'value'}) # ...
text_content = strip_tags(html_content) # this strips the html, so people will have the text as well.
# create the email, and attach the HTML version as well.
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()

Great, very useful!
is “text_content” forced to be fill in? I’ve tried taken it out and it didn’t work. however, this is very good stuff.
It is suggested to send BOTH formats in case of some of the Email Clients cant display HTML. The “text_content” as you can see will be HTML stripped in this case.
thanks, it’s perfect !
Thanks but I am facing a small problem.
The emails received have the Content headers (Content charset…..)
as part of the message:
I am using this is as a tamplate :
Dear Valued Customer,
We have identified that your below DID’s are not registered with 911 Addresses:
{% for did in alldids %}
{{ did }}
{% endfor %}
Please use this link to access our account registration page: http://{{ site }}/register/{{ key }}/
Thank you
Thanks dude I was searching for it. I am gonna try it.
Nice – worked a treat. Cheers feller!