|
@@ -2,7 +2,7 @@ import mimetypes
|
|
|
from collections import namedtuple
|
|
|
from email import charset as Charset
|
|
|
from email import encoders as Encoders
|
|
|
-from email import generator, message_from_string
|
|
|
+from email import generator, message_from_bytes
|
|
|
from email.errors import HeaderParseError
|
|
|
from email.header import Header
|
|
|
from email.headerregistry import Address, parser
|
|
@@ -17,7 +17,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, punycode
|
|
|
+from django.utils.encoding import force_bytes, force_str, punycode
|
|
|
|
|
|
|
|
|
|
|
@@ -152,7 +152,7 @@ class MIMEMixin:
|
|
|
|
|
|
class SafeMIMEMessage(MIMEMixin, MIMEMessage):
|
|
|
def __setitem__(self, name, val):
|
|
|
-
|
|
|
+
|
|
|
name, val = forbid_multi_line_headers(name, val, "ascii")
|
|
|
MIMEMessage.__setitem__(self, name, val)
|
|
|
|
|
@@ -399,7 +399,7 @@ class EmailMessage:
|
|
|
elif not isinstance(content, Message):
|
|
|
|
|
|
|
|
|
- content = message_from_string(force_str(content))
|
|
|
+ content = message_from_bytes(force_bytes(content))
|
|
|
|
|
|
attachment = SafeMIMEMessage(content, subtype)
|
|
|
else:
|