diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-07-02 19:32:17 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-07-03 10:48:02 +0200 |
| commit | f226bdbf4e06aa8ca787e34b0c626965ac526f28 (patch) | |
| tree | 55f30b22a0c0128f1ae10ab9ab4827ae5e9f505e /django/core/mail/message.py | |
| parent | a5308514fb4bc5086c9a16a8a24a945eeebb073c (diff) | |
Refs #30608 -- Added django.utils.encoding.punycode().
Diffstat (limited to 'django/core/mail/message.py')
| -rw-r--r-- | django/core/mail/message.py | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/django/core/mail/message.py b/django/core/mail/message.py index e393b4cf5c..234c9416c6 100644 --- a/django/core/mail/message.py +++ b/django/core/mail/message.py @@ -16,7 +16,7 @@ from pathlib import Path from django.conf import settings from django.core.mail.utils import DNS_NAME -from django.utils.encoding import force_str +from django.utils.encoding import force_str, punycode # Don't BASE64-encode UTF-8 messages so that we avoid unwanted attention from # some spam filters. @@ -102,10 +102,7 @@ def sanitize_address(addr, encoding): localpart.encode('ascii') except UnicodeEncodeError: localpart = Header(localpart, encoding).encode() - try: - domain.encode('ascii') - except UnicodeEncodeError: - domain = domain.encode('idna').decode('ascii') + domain = punycode(domain) parsed_address = Address(nm, username=localpart, domain=domain) return str(parsed_address) |
