summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2012-08-17 20:16:38 +0200
committerClaude Paroz <claude@2xlibre.net>2012-08-17 20:19:14 +0200
commit6e4c9840988b1aa3ae4598a7d04b13ada078be33 (patch)
treee265586f5e6d4d5893fe0bfbb4b56abc6dfee326
parent6086f7356d37f4a544e3e103501f7fb4e268015c (diff)
[py3] Workarounded a Python bug in mail header encoding
-rw-r--r--django/core/mail/message.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/django/core/mail/message.py b/django/core/mail/message.py
index b332ffba04..db9023a0bb 100644
--- a/django/core/mail/message.py
+++ b/django/core/mail/message.py
@@ -99,7 +99,12 @@ def sanitize_address(addr, encoding):
if isinstance(addr, six.string_types):
addr = parseaddr(force_text(addr))
nm, addr = addr
- nm = Header(nm, encoding).encode()
+ # This try-except clause is needed on Python 3 < 3.2.4
+ # http://bugs.python.org/issue14291
+ try:
+ nm = Header(nm, encoding).encode()
+ except UnicodeEncodeError:
+ nm = Header(nm, 'utf-8').encode()
try:
addr.encode('ascii')
except UnicodeEncodeError: # IDN