diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/mail/backends/smtp.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/django/core/mail/backends/smtp.py b/django/core/mail/backends/smtp.py index 18437c6282..b6f7f560ed 100644 --- a/django/core/mail/backends/smtp.py +++ b/django/core/mail/backends/smtp.py @@ -7,6 +7,7 @@ from django.conf import settings from django.core.mail.backends.base import BaseEmailBackend from django.core.mail.utils import DNS_NAME from django.core.mail.message import sanitize_address +from django.utils.encoding import force_bytes class EmailBackend(BaseEmailBackend): @@ -102,9 +103,11 @@ class EmailBackend(BaseEmailBackend): from_email = sanitize_address(email_message.from_email, email_message.encoding) recipients = [sanitize_address(addr, email_message.encoding) for addr in email_message.recipients()] + message = email_message.message() + charset = message.get_charset().get_output_charset() if message.get_charset() else 'utf-8' try: self.connection.sendmail(from_email, recipients, - email_message.message().as_string()) + force_bytes(message.as_string(), charset)) except: if not self.fail_silently: raise |
