changeset: 82783:ba500b179c3a branch: 3.2 parent: 82773:33f02ccb5301 user: R David Murray date: Tue Mar 19 18:18:55 2013 -0400 files: Doc/library/email.mime.rst description: #1525919: Document MIMEText+set_payload encoding behavior. diff -r 33f02ccb5301 -r ba500b179c3a Doc/library/email.mime.rst --- a/Doc/library/email.mime.rst Tue Mar 19 13:43:42 2013 -0700 +++ b/Doc/library/email.mime.rst Tue Mar 19 18:18:55 2013 -0400 @@ -185,5 +185,15 @@ minor type and defaults to :mimetype:`plain`. *_charset* is the character set of the text and is passed as a parameter to the :class:`~email.mime.nonmultipart.MIMENonMultipart` constructor; it defaults - to ``us-ascii``. No guessing or encoding is performed on the text data. + to ``us-ascii``. + Unless the ``_charset`` parameter is explicitly set to ``None``, the + MIMEText object created will have both a :mailheader:`Content-Type` header + with a ``charset`` parameter, and a :mailheader:`Content-Transfer-Endcoding` + header. This means that a subsequent ``set_payload`` call will not result + in an encoded payload, even if a charset is passed in the ``set_payload`` + command. You can "reset" this behavior by deleting the + ``Content-Transfer-Encoding`` header, after which a ``set_payload`` call + will automatically encode the new payload (and add a new + :mailheader:`Content-Transfer-Encoding` header). +