- for extension, mime_type in (("txt", "plain"), ("html", "html")):
- try:
- t = self.template_loader.load("%s.%s" % (template_name, extension))
- except IOError:
- continue
-
- # Render the message
- try:
- message_part = t.generate(**namespace)
-
- # Reset the rendered template when it could not be rendered
- except:
- self.template_loader.reset()
- raise
-
- # Parse the message and extract the header
- message_part = email.message_from_string(message_part.decode())
- for k, v in list(message_part.items()):
- try:
- message.replace_header(k, v)
- except KeyError:
- message.add_header(k, v)