summaryrefslogtreecommitdiff
path: root/django/core/mail/message.py
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2019-07-02 19:32:17 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-07-03 10:48:02 +0200
commitf226bdbf4e06aa8ca787e34b0c626965ac526f28 (patch)
tree55f30b22a0c0128f1ae10ab9ab4827ae5e9f505e /django/core/mail/message.py
parenta5308514fb4bc5086c9a16a8a24a945eeebb073c (diff)
Refs #30608 -- Added django.utils.encoding.punycode().
Diffstat (limited to 'django/core/mail/message.py')
-rw-r--r--django/core/mail/message.py7
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)