[3.13] gh-121542: Document trailing newline behavior in set_content() (GH-121543) (#128995)

gh-121542: Document trailing newline behavior in `set_content()` (GH-121543)
(cherry picked from commit fba475ae6f)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: Yizheng Meng <dev@rapidcow.org>
This commit is contained in:
Miss Islington (bot) 2025-01-18 19:40:30 +01:00 committed by GitHub
parent fdac3629e9
commit b7ddcc3efb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -157,7 +157,13 @@ Currently the email package provides only one concrete content manager,
:exc:`ValueError`.
* For ``str`` objects, if *cte* is not set use heuristics to
determine the most compact encoding.
determine the most compact encoding. Prior to encoding,
:meth:`str.splitlines` is used to normalize all line boundaries,
ensuring that each line of the payload is terminated by the
current policy's :data:`~email.policy.Policy.linesep` property
(even if the original string did not end with one).
* For ``bytes`` objects, *cte* is taken to be base64 if not set,
and the aforementioned newline translation is not performed.
* For :class:`~email.message.EmailMessage`, per :rfc:`2046`, raise
an error if a *cte* of ``quoted-printable`` or ``base64`` is
requested for *subtype* ``rfc822``, and for any *cte* other than