From 20c62199ffe0de1410083657a6d5bac799592210 Mon Sep 17 00:00:00 2001 From: Mike Edmunds Date: Sat, 19 Jul 2025 17:33:09 -0700 Subject: [PATCH] Refs #35581 -- Added missing test for lazy email headers. EmailMessage is intended to support lazy strings in any header field (via coercion to `str` in forbid_multi_line_headers() called from SafeMIMEMessage/Text/Multipart.__setitem__). --- tests/mail/tests.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/mail/tests.py b/tests/mail/tests.py index 8a57887f8d..397fb8c747 100644 --- a/tests/mail/tests.py +++ b/tests/mail/tests.py @@ -584,6 +584,14 @@ class MailTests(MailTestsMixin, SimpleTestCase): ).message() self.assertEqual(message.get_all("Reply-To"), ["reply_to@example.com"]) + def test_lazy_headers(self): + message = EmailMessage( + subject=gettext_lazy("subject"), + headers={"List-Unsubscribe": gettext_lazy("list-unsubscribe")}, + ).message() + self.assertEqual(message.get_all("Subject"), ["subject"]) + self.assertEqual(message.get_all("List-Unsubscribe"), ["list-unsubscribe"]) + def test_multiple_message_call(self): """ Regression for #13259 - Make sure that headers are not changed when