Browse Source

Fixed #29140 -- Fixed EmailMessage crash when body is None.

Williams Mendez 7 years ago
parent
commit
2691ed7ba1
2 changed files with 6 additions and 1 deletions
  1. 1 1
      django/core/mail/message.py
  2. 5 0
      tests/mail/tests.py

+ 1 - 1
django/core/mail/message.py

@@ -231,7 +231,7 @@ class EmailMessage:
             self.reply_to = []
         self.from_email = from_email or settings.DEFAULT_FROM_EMAIL
         self.subject = subject
-        self.body = body
+        self.body = body or ''
         self.attachments = []
         if attachments:
             for attachment in attachments:

+ 5 - 0
tests/mail/tests.py

@@ -357,6 +357,11 @@ class MailTests(HeadersCheckMixin, SimpleTestCase):
         msg.attach('example.txt', 'Text file content', 'text/plain')
         self.assertIn(html_content, msg.message().as_string())
 
+    def test_none_body(self):
+        msg = EmailMessage('subject', None, 'from@example.com', ['to@example.com'])
+        self.assertEqual(msg.body, '')
+        self.assertEqual(msg.message().get_payload(), '')
+
     def test_encoding(self):
         """
         Regression for #12791 - Encode body correctly with other encodings