* Add an encode_email tag library used to somewhat encode email addresses. Code...
[matthijs/projects/xerxes.git] / tools / notify.py
index 4530255510787754beaaaa670aad191e4aa2fab8..74f10837bbb3eaee3e61955c7028a6093f03c29d 100644 (file)
@@ -23,7 +23,7 @@ def notify(recipients, template, context = {}):
     context['addresses'] = addresses 
 
     rendered = loader.render_to_string(template, context)
-    (headers, body) = rendered.split('\n\n', 2)
+    (headers, body) = rendered.split('\n\n', 1)
 
     # Turn the headers into a dict so EmailMessage can turn them into a
     # string again. Bit pointless, but it works. 
@@ -36,16 +36,23 @@ def notify(recipients, template, context = {}):
     from_email = None
     for header in headers.split('\n'):
         (field, value) = header.split(':')
-        headers_dict[field] = value
         if (field == 'From'):
             from_email = value
+        elif (field == 'Subject'):
+            subject = value
+        else:
+            # Don't put From and Subject in the dict, else they'll be
+            # present twice.
+            headers_dict[field] = value
 
     msg = EmailMessage(
         # Only setting the From address through headers won't set the
         # envelope address right.
         from_email = from_email,
+        subject    = subject,
         body       = body, 
         to         = addresses, 
         headers    = headers_dict
     )
     msg.send()
+# vim: set sts=4 sw=4 expandtab: