Author: russellm
Date: 2010-04-01 10:25:54 -0500 (Thu, 01 Apr 2010)
New Revision: 12902
Modified:
django/branches/releases/1.1.X/django/core/mail.py
django/branches/releases/1.1.X/tests/regressiontests/mail/tests.py
Log:
[1.1.X] Fixed #13259 -- Ensure that multiple calls to message() don't corrupt
any extra message headers. Thanks to canburak for the report, and Andi Albrecht
for the fix.
Backport of r12901 from trunk.
Modified: django/branches/releases/1.1.X/django/core/mail.py
===================================================================
--- django/branches/releases/1.1.X/django/core/mail.py 2010-04-01 15:16:26 UTC
(rev 12901)
+++ django/branches/releases/1.1.X/django/core/mail.py 2010-04-01 15:25:54 UTC
(rev 12902)
@@ -249,7 +249,7 @@
self.content_subtype, encoding)
msg = self._create_message(msg)
msg['Subject'] = self.subject
- msg['From'] = self.extra_headers.pop('From', self.from_email)
+ msg['From'] = self.extra_headers.get('From', self.from_email)
msg['To'] = ', '.join(self.to)
# Email header names are case-insensitive (RFC 2045), so we have to
@@ -260,6 +260,8 @@
if 'message-id' not in header_names:
msg['Message-ID'] = make_msgid()
for name, value in self.extra_headers.items():
+ if name.lower() == 'from':
+ continue
msg[name] = value
return msg
Modified: django/branches/releases/1.1.X/tests/regressiontests/mail/tests.py
===================================================================
--- django/branches/releases/1.1.X/tests/regressiontests/mail/tests.py
2010-04-01 15:16:26 UTC (rev 12901)
+++ django/branches/releases/1.1.X/tests/regressiontests/mail/tests.py
2010-04-01 15:25:54 UTC (rev 12902)
@@ -95,6 +95,16 @@
>>> message['From']
'[email protected]'
+# Regression for #13259 - Make sure that headers are not changed
+# when calling EmailMessage.message()
+>>> email = EmailMessage('Subject', 'Content', '[email protected]',
['[email protected]'], headers={'From': '[email protected]'})
+>>> message = email.message()
+>>> message['From']
+'[email protected]'
+>>> message = email.message()
+>>> message['From']
+'[email protected]'
+
# Regression for #11144 - When a to/from/cc header contains unicode,
# make sure the email addresses are parsed correctly (especially
# with regards to commas)
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.