summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2009-11-04 11:28:56 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2009-11-04 11:28:56 +0000
commitabd4344efe6bc9b138595a7d15998a0cbce5b9cf (patch)
tree8e17f439b1b683d3bebb68b48e8ace7c2beaf083 /django
parent9a38c1cdb2b04ab62d46ee3fcc709680ca5d74ed (diff)
[1.1.X] Fixed #11144 -- When a to/from/cc header contains unicode, make sure the email addresses are parsed correctly (especially with regards to commas). Thanks to rmt for the patch.
Backport of r11719 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@11720 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/core/mail.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/django/core/mail.py b/django/core/mail.py
index 9eeb3429a6..a6b5449ce4 100644
--- a/django/core/mail.py
+++ b/django/core/mail.py
@@ -13,7 +13,7 @@ from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.Header import Header
-from email.Utils import formatdate, parseaddr, formataddr
+from email.Utils import formatdate, getaddresses, formataddr
from django.conf import settings
from django.utils.encoding import smart_str, force_unicode
@@ -79,8 +79,7 @@ def forbid_multi_line_headers(name, val):
except UnicodeEncodeError:
if name.lower() in ('to', 'from', 'cc'):
result = []
- for item in val.split(', '):
- nm, addr = parseaddr(item)
+ for nm, addr in getaddresses((val,)):
nm = str(Header(nm, settings.DEFAULT_CHARSET))
result.append(formataddr((nm, str(addr))))
val = ', '.join(result)