diff options
| author | Claude Paroz <claude@2xlibre.net> | 2012-08-17 20:16:38 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2012-08-17 20:19:14 +0200 |
| commit | 6e4c9840988b1aa3ae4598a7d04b13ada078be33 (patch) | |
| tree | e265586f5e6d4d5893fe0bfbb4b56abc6dfee326 | |
| parent | 6086f7356d37f4a544e3e103501f7fb4e268015c (diff) | |
[py3] Workarounded a Python bug in mail header encoding
| -rw-r--r-- | django/core/mail/message.py | 7 |
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 |
