]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-40597: email: Use CTE if lines are longer than max_line_length consistently ...
authorArkadiusz Hiler <arek.l1@gmail.com>
Thu, 14 May 2020 00:53:26 +0000 (03:53 +0300)
committerGitHub <noreply@github.com>
Thu, 14 May 2020 00:53:26 +0000 (20:53 -0400)
commit6f2f475d5a2cd7675dce844f3af436ba919ef92b
treea716eac3e0f40024c90214076998a3b8a4b6609c
parent3d17c045b4c3d09b72bbd95ed78af1ae6f0d98d2
bpo-40597: email: Use CTE if lines are longer than max_line_length consistently (gh-20038)

raw_data_manager (default for EmailPolicy, EmailMessage)
does correct wrapping of 'text' parts as long as the message contains
characters outside of 7bit US-ASCII set: base64 or qp
Content-Transfer-Encoding is applied if the lines would be too long
without it.  It did not, however, do this for ascii-only text,
which could result in lines that were longer than
policy.max_line_length or even the rfc 998  maximum.

This changeset fixes the heuristic so that if lines are longer than
policy.max_line_length, it will always apply a
content-transfer-encoding so that the lines are wrapped correctly.
Lib/email/contentmanager.py
Lib/test/test_email/test_contentmanager.py
Misc/NEWS.d/next/Library/2020-05-11-19-17-23.bpo-40597.4SGfgm.rst [new file with mode: 0644]