diff options
| author | nessita <124304+nessita@users.noreply.github.com> | 2025-04-24 10:11:16 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-24 10:11:16 -0300 |
| commit | 0596263c3136bc26cffa670e5322bd0aa56c4d34 (patch) | |
| tree | 5359853b435c2a34ce59148b1508f00f7c5f1597 /tests/mail | |
| parent | c86242d61ff81bddbead115c458c1eb532d43b43 (diff) | |
Fixed #36309 -- Made email alternatives and attachments pickleable.
Regression in aba0e541caaa086f183197eaaca0ac20a730bbe4 and in
d5bebc1c26d4c0ec9eaa057aefc5b38649c0ba3b.
Thanks Florent Messa for the report, and Jake Howard and Claude
Paroz for the review.
Diffstat (limited to 'tests/mail')
| -rw-r--r-- | tests/mail/tests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/mail/tests.py b/tests/mail/tests.py index 3fb1a47bc7..301e589409 100644 --- a/tests/mail/tests.py +++ b/tests/mail/tests.py @@ -1,5 +1,6 @@ import mimetypes import os +import pickle import shutil import socket import sys @@ -654,6 +655,23 @@ class MailTests(MailTestsMixin, SimpleTestCase): self.assertIn(html_content, msg.message().as_string()) + def test_alternatives_and_attachment_serializable(self): + html_content = "<p>This is <strong>html</strong></p>" + mime_type = "text/html" + + msg = EmailMultiAlternatives(alternatives=[(html_content, mime_type)]) + msg.attach("test.txt", "This is plain text.", "plain/text") + + # Alternatives and attachments can be serialized. + restored = pickle.loads(pickle.dumps(msg)) + + self.assertEqual(restored.subject, msg.subject) + self.assertEqual(restored.body, msg.body) + self.assertEqual(restored.from_email, msg.from_email) + self.assertEqual(restored.to, msg.to) + self.assertEqual(restored.alternatives, msg.alternatives) + self.assertEqual(restored.attachments, msg.attachments) + def test_none_body(self): msg = EmailMessage("subject", None, "from@example.com", ["to@example.com"]) self.assertEqual(msg.body, "") |
