gh-121542: Document trailing newline behavior in set_content() (#121543)

Co-authored-by: Yizheng Meng <dev@rapidcow.org>
This commit is contained in:
Peter Bierma 2025-01-18 13:34:40 -05:00 committed by GitHub
parent 3de7cc15c2
commit fba475ae6f
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