diff options
| author | Claude Paroz <claude@2xlibre.net> | 2016-04-17 21:03:15 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2016-04-19 09:35:24 +0200 |
| commit | 836d475afefecd643d5e7f44027d7209df3ac690 (patch) | |
| tree | 868ff9939012e6d29dc911ab75fff7bed2ade24c /tests | |
| parent | f43da05cc5c76102c04fd2e76b4bada880265dbe (diff) | |
Fixed #22561 -- Prevented too long lines in email messages
Thanks NotSqrt for the excellent report and Tim Graham for the review.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/mail/tests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/mail/tests.py b/tests/mail/tests.py index 36e3e3399e..4e7075e695 100644 --- a/tests/mail/tests.py +++ b/tests/mail/tests.py @@ -639,6 +639,22 @@ class BaseEmailBackendTests(HeadersCheckMixin, object): self.assertEqual(message["subject"], '=?utf-8?q?Ch=C3=A8re_maman?=') self.assertEqual(force_text(message.get_payload(decode=True)), 'Je t\'aime très fort') + def test_send_long_lines(self): + """ + Email line length is limited to 998 chars by the RFC: + https://tools.ietf.org/html/rfc5322#section-2.1.1 + Message body containing longer lines are converted to Quoted-Printable + to avoid having to insert newlines, which could be hairy to do properly. + """ + email = EmailMessage('Subject', "Comment ça va? " * 100, 'from@example.com', ['to@example.com']) + email.send() + message = self.get_the_message() + self.assertMessageHasHeaders(message, { + ('MIME-Version', '1.0'), + ('Content-Type', 'text/plain; charset="utf-8"'), + ('Content-Transfer-Encoding', 'quoted-printable'), + }) + def test_send_many(self): email1 = EmailMessage('Subject', 'Content1', 'from@example.com', ['to@example.com']) email2 = EmailMessage('Subject', 'Content2', 'from@example.com', ['to@example.com']) |
