summaryrefslogtreecommitdiff
path: root/Doc/library/email.message.rst
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2011-03-15 17:42:50 -0400
committerR David Murray <rdmurray@bitdance.com>2011-03-15 17:42:50 -0400
commit729c5e203da8adc06acddaa3e7ea472d9c255774 (patch)
tree2e1749911a21839d380f4d8c47c2fb48833ab236 /Doc/library/email.message.rst
parentf228e5bca5bb0f764528e16c2e811b0edeb30b8a (diff)
parente3d09ff269330bd0076e3ab9cb81907fad717a68 (diff)
downloadcpython-git-729c5e203da8adc06acddaa3e7ea472d9c255774.tar.gz
Merge #11216: document all possible set_charset execution paths.
Diffstat (limited to 'Doc/library/email.message.rst')
-rw-r--r--Doc/library/email.message.rst25
1 files changed, 16 insertions, 9 deletions
diff --git a/Doc/library/email.message.rst b/Doc/library/email.message.rst
index ebe2d9cb47..1e6a485353 100644
--- a/Doc/library/email.message.rst
+++ b/Doc/library/email.message.rst
@@ -139,15 +139,22 @@ Here are the methods of the :class:`Message` class:
string naming a character set, or ``None``. If it is a string, it will
be converted to a :class:`~email.charset.Charset` instance. If *charset*
is ``None``, the ``charset`` parameter will be removed from the
- :mailheader:`Content-Type` header. Anything else will generate a
- :exc:`TypeError`.
-
- The message will be assumed to be of type :mimetype:`text/\*` encoded with
- *charset.input_charset*. It will be converted to *charset.output_charset*
- and encoded properly, if needed, when generating the plain text
- representation of the message. MIME headers (:mailheader:`MIME-Version`,
- :mailheader:`Content-Type`, :mailheader:`Content-Transfer-Encoding`) will
- be added as needed.
+ :mailheader:`Content-Type` header (the message will not be otherwise
+ modified). Anything else will generate a :exc:`TypeError`.
+
+ If there is no existing :mailheader:`MIME-Version` header one will be
+ added. If there is no existing :mailheader:`Content-Type` header, one
+ will be added with a value of :mimetype:`text/plain`. Whether the
+ :mailheader:`Content-Type` header already exists or not, its ``charset``
+ parameter will be set to *charset.output_charset*. If
+ *charset.input_charset* and *charset.output_charset* differ, the payload
+ will be re-encoded to the *output_charset*. If there is no existing
+ :mailheader:`Content-Transfer-Encoding` header, then the payload will be
+ transfer-encoded, if needed, using the specified
+ :class:`~email.charset.Charset`, and a header with the appropriate value
+ will be added. If a :mailheader:`Content-Transfer-Encoding` header
+ already exists, the payload is assumed to already be correctly encoded
+ using that :mailheader:`Content-Transfer-Encoding` and is not modified.
.. method:: get_charset()