cpython/Lib/email
R. David Murray a3c0a809e1
[3.13] gh-144156: Fix email header folding concatenating encoded words (GH-144692) (#145195)
The fix for gh-92081 (gh-92281) was unfortunately flawed, and broke whitespace handling for encoded word patterns that had previously been working correctly but had no corresponding tests, unfortunately in a way that made the resulting headers not RFC compliant, in such a way that Yahoo started rejecting the resulting emails.  This fix was released in 3.14 alpha 1, 3.13 beta 2 and 3.12.5.   This PR fixes the original problem in a way that does not break anything, and in fact fixes a small pre-existing bug (a spurious whitespace after the ':' of the header label if the header value is immediately wrapped on to the next line).  (RDM)
(cherry picked from commit 0f7cd5544a)

Co-authored-by: Robsdedude <dev@rouvenbauer.de>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2026-02-24 15:55:54 -05:00
..
mime gh-102542 Remove unused bytes object and bytes slicing (#106433) 2023-07-05 09:17:37 -07:00
__init__.py gh-102507 Remove invisible pagebreak characters (#102531) 2023-03-08 13:58:14 +00:00
_encoded_words.py [3.13] Correctly fold unknown-8bit originating from encoded words. (GH-142517) (#143147) 2025-12-24 13:19:28 -05:00
_header_value_parser.py [3.13] gh-144156: Fix email header folding concatenating encoded words (GH-144692) (#145195) 2026-02-24 15:55:54 -05:00
_parseaddr.py [3.13] gh-139434: Update selected RFC 2822 references to RFC 5322 (GH-139435) (#141024) 2025-11-04 16:22:31 -05:00
_policybase.py [3.13] gh-139434: Update selected RFC 2822 references to RFC 5322 (GH-139435) (#141024) 2025-11-04 16:22:31 -05:00
architecture.rst Fix typos in multiple .rst files (#1668) 2017-05-19 23:37:57 +03:00
base64mime.py gh-102507 Remove invisible pagebreak characters (#102531) 2023-03-08 13:58:14 +00:00
charset.py gh-102498 Clean up unused variables and imports in the email module (#102482) 2023-04-24 19:19:28 +00:00
contentmanager.py [3.13] gh-135307: Fix email error when policy max_line_length is set to 0 or None (GH-135367) (#140917) 2025-11-02 15:20:29 -05:00
encoders.py gh-102507 Remove invisible pagebreak characters (#102531) 2023-03-08 13:58:14 +00:00
errors.py [3.13] gh-121650: Encode newlines in headers, and verify headers are sound (GH-122233) (#122484) 2024-08-06 19:06:41 +02:00
feedparser.py [3.13] gh-68552: fix defects policy (GH-138579) (#142367) 2025-12-09 07:39:03 +00:00
generator.py [3.13] gh-144125: email: verify headers are sound in BytesGenerator (#144181) 2026-01-25 17:09:26 +00:00
header.py [3.13] gh-67022: Document bytes/str inconsistency in email.header.decode_header() and suggest email.headerregistry.HeaderRegistry as a sane alternative (GH-92900) (#135549) 2025-06-15 16:02:43 -04:00
headerregistry.py [3.13] gh-79986: Add parsing for References/In-Reply-To email headers (GH-137201) (#142574) 2025-12-21 14:36:23 -05:00
iterators.py gh-102507 Remove invisible pagebreak characters (#102531) 2023-03-08 13:58:14 +00:00
message.py [3.13] gh-136063: fix quadratic-complexity parsing in email.message._parseparam (GH-136072) (#140828) 2025-11-30 14:34:22 +02:00
parser.py [3.13] gh-139434: Update selected RFC 2822 references to RFC 5322 (GH-139435) (#141024) 2025-11-04 16:22:31 -05:00
policy.py [3.13] gh-124452: Fix header mismatches when folding/unfolding with email message (GH-125919) (#126917) 2024-11-17 15:06:18 -05:00
quoprimime.py bpo-46565: del loop vars that are leaking into module namespaces (GH-30993) 2022-02-03 11:20:08 +02:00
utils.py [3.13] gh-134151 Fix TypeError in email.utils.decode_params when sorting RFC 2231 continuations (GH-134687) (#135248) 2025-06-08 07:38:00 +00:00