1
0
Fork 0
python-docs-fr/library/email.message.po

818 lines
32 KiB
Plaintext
Raw Permalink Normal View History

2018-07-04 09:06:45 +00:00
# Copyright (C) 2001-2018, Python Software Foundation
2018-07-04 09:08:42 +00:00
# For licence information, see README file.
2016-10-30 09:46:26 +00:00
#
msgid ""
msgstr ""
2019-12-05 22:15:54 +00:00
"Project-Id-Version: Python 3\n"
2016-10-30 09:46:26 +00:00
"Report-Msgid-Bugs-To: \n"
2020-10-02 08:55:01 +00:00
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
2016-10-30 09:46:26 +00:00
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
2018-07-04 09:14:25 +00:00
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
2017-05-23 22:40:56 +00:00
"Language: fr\n"
2016-10-30 09:46:26 +00:00
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: library/email.message.rst:2
2016-10-30 09:46:26 +00:00
msgid ":mod:`email.message`: Representing an email message"
msgstr ""
#: library/email.message.rst:10
2020-02-14 10:18:53 +00:00
#, fuzzy
2016-10-30 09:46:26 +00:00
msgid "**Source code:** :source:`Lib/email/message.py`"
2020-02-14 10:18:53 +00:00
msgstr "**Code source :** :source:`Lib/email/parser.py`"
2016-10-30 09:46:26 +00:00
#: library/email.message.rst:14
2016-10-30 09:46:26 +00:00
msgid "[1]_"
msgstr ""
#: library/email.message.rst:16
2016-10-30 09:46:26 +00:00
msgid ""
"The central class in the :mod:`email` package is the :class:`EmailMessage` "
"class, imported from the :mod:`email.message` module. It is the base class "
"for the :mod:`email` object model. :class:`EmailMessage` provides the core "
"functionality for setting and querying header fields, for accessing message "
"bodies, and for creating or modifying structured messages."
msgstr ""
#: library/email.message.rst:22
2016-10-30 09:46:26 +00:00
msgid ""
"An email message consists of *headers* and a *payload* (which is also "
"referred to as the *content*). Headers are :rfc:`5322` or :rfc:`6532` style "
"field names and values, where the field name and value are separated by a "
"colon. The colon is not part of either the field name or the field value. "
"The payload may be a simple text message, or a binary object, or a "
"structured sequence of sub-messages each with their own set of headers and "
"their own payload. The latter type of payload is indicated by the message "
"having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:`message/"
"rfc822`."
msgstr ""
#: library/email.message.rst:31
2016-10-30 09:46:26 +00:00
msgid ""
"The conceptual model provided by an :class:`EmailMessage` object is that of "
"an ordered dictionary of headers coupled with a *payload* that represents "
"the :rfc:`5322` body of the message, which might be a list of sub-"
"``EmailMessage`` objects. In addition to the normal dictionary methods for "
"accessing the header names and values, there are methods for accessing "
"specialized information from the headers (for example the MIME content "
"type), for operating on the payload, for generating a serialized version of "
"the message, and for recursively walking over the object tree."
msgstr ""
#: library/email.message.rst:40
2016-10-30 09:46:26 +00:00
msgid ""
"The :class:`EmailMessage` dictionary-like interface is indexed by the header "
"names, which must be ASCII values. The values of the dictionary are strings "
"with some extra methods. Headers are stored and returned in case-preserving "
"form, but field names are matched case-insensitively. Unlike a real dict, "
"there is an ordering to the keys, and there can be duplicate keys. "
"Additional methods are provided for working with headers that have duplicate "
"keys."
msgstr ""
#: library/email.message.rst:47
2016-10-30 09:46:26 +00:00
msgid ""
"The *payload* is either a string or bytes object, in the case of simple "
"message objects, or a list of :class:`EmailMessage` objects, for MIME "
"container documents such as :mimetype:`multipart/\\*` and :mimetype:`message/"
"rfc822` message objects."
msgstr ""
#: library/email.message.rst:55
2016-10-30 09:46:26 +00:00
msgid ""
2017-05-27 17:46:38 +00:00
"If *policy* is specified use the rules it specifies to update and serialize "
2016-10-30 09:46:26 +00:00
"the representation of the message. If *policy* is not set, use the :class:"
"`~email.policy.default` policy, which follows the rules of the email RFCs "
"except for line endings (instead of the RFC mandated ``\\r\\n``, it uses the "
"Python standard ``\\n`` line endings). For more information see the :mod:"
"`~email.policy` documentation."
msgstr ""
#: library/email.message.rst:64
2016-10-30 09:46:26 +00:00
msgid ""
"Return the entire message flattened as a string. When optional *unixfrom* "
"is true, the envelope header is included in the returned string. *unixfrom* "
2017-05-27 17:46:38 +00:00
"defaults to ``False``. For backward compatibility with the base :class:"
2016-10-30 09:46:26 +00:00
"`~email.message.Message` class *maxheaderlen* is accepted, but defaults to "
"``None``, which means that by default the line length is controlled by the :"
"attr:`~email.policy.EmailPolicy.max_line_length` of the policy. The "
"*policy* argument may be used to override the default policy obtained from "
"the message instance. This can be used to control some of the formatting "
"produced by the method, since the specified *policy* will be passed to the :"
"class:`~email.generator.Generator`."
msgstr ""
2020-10-02 08:55:01 +00:00
#: library/email.message.rst:114
2016-10-30 09:46:26 +00:00
msgid ""
"Flattening the message may trigger changes to the :class:`EmailMessage` if "
"defaults need to be filled in to complete the transformation to a string "
"(for example, MIME boundaries may be generated or modified)."
msgstr ""
#: library/email.message.rst:80
2016-10-30 09:46:26 +00:00
msgid ""
"Note that this method is provided as a convenience and may not be the most "
"useful way to serialize messages in your application, especially if you are "
"dealing with multiple messages. See :class:`email.generator.Generator` for "
"a more flexible API for serializing messages. Note also that this method is "
"restricted to producing messages serialized as \"7 bit clean\" when :attr:"
"`~email.policy.EmailPolicy.utf8` is ``False``, which is the default."
msgstr ""
#: library/email.message.rst:88
2016-10-30 09:46:26 +00:00
msgid ""
"the default behavior when *maxheaderlen* is not specified was changed from "
"defaulting to 0 to defaulting to the value of *max_line_length* from the "
"policy."
msgstr ""
#: library/email.message.rst:95
2016-10-30 09:46:26 +00:00
msgid ""
2018-12-24 13:20:55 +00:00
"Equivalent to ``as_string(policy=self.policy.clone(utf8=True))``. Allows "
2016-10-30 09:46:26 +00:00
"``str(msg)`` to produce a string containing the serialized message in a "
"readable format."
msgstr ""
#: library/email.message.rst:99
2016-10-30 09:46:26 +00:00
msgid ""
"the method was changed to use ``utf8=True``, thus producing an :rfc:`6531`-"
"like message representation, instead of being a direct alias for :meth:"
"`as_string`."
msgstr ""
#: library/email.message.rst:106
2016-10-30 09:46:26 +00:00
msgid ""
"Return the entire message flattened as a bytes object. When optional "
"*unixfrom* is true, the envelope header is included in the returned string. "
"*unixfrom* defaults to ``False``. The *policy* argument may be used to "
"override the default policy obtained from the message instance. This can be "
"used to control some of the formatting produced by the method, since the "
"specified *policy* will be passed to the :class:`~email.generator."
"BytesGenerator`."
msgstr ""
#: library/email.message.rst:118
2016-10-30 09:46:26 +00:00
msgid ""
"Note that this method is provided as a convenience and may not be the most "
"useful way to serialize messages in your application, especially if you are "
"dealing with multiple messages. See :class:`email.generator.BytesGenerator` "
"for a more flexible API for serializing messages."
msgstr ""
#: library/email.message.rst:127
2016-10-30 09:46:26 +00:00
msgid ""
"Equivalent to :meth:`.as_bytes()`. Allows ``bytes(msg)`` to produce a bytes "
"object containing the serialized message."
msgstr ""
#: library/email.message.rst:133
2016-10-30 09:46:26 +00:00
msgid ""
"Return ``True`` if the message's payload is a list of sub-\\ :class:"
"`EmailMessage` objects, otherwise return ``False``. When :meth:"
"`is_multipart` returns ``False``, the payload should be a string object "
"(which might be a CTE encoded binary payload). Note that :meth:"
"`is_multipart` returning ``True`` does not necessarily mean that \"msg."
"get_content_maintype() == 'multipart'\" will return the ``True``. For "
"example, ``is_multipart`` will return ``True`` when the :class:"
"`EmailMessage` is of type ``message/rfc822``."
msgstr ""
#: library/email.message.rst:145
2016-10-30 09:46:26 +00:00
msgid ""
"Set the message's envelope header to *unixfrom*, which should be a string. "
"(See :class:`~mailbox.mboxMessage` for a brief description of this header.)"
msgstr ""
#: library/email.message.rst:152
2016-10-30 09:46:26 +00:00
msgid ""
"Return the message's envelope header. Defaults to ``None`` if the envelope "
"header was never set."
msgstr ""
#: library/email.message.rst:156
2016-10-30 09:46:26 +00:00
msgid ""
"The following methods implement the mapping-like interface for accessing the "
"message's headers. Note that there are some semantic differences between "
"these methods and a normal mapping (i.e. dictionary) interface. For "
"example, in a dictionary there are no duplicate keys, but here there may be "
"duplicate message headers. Also, in dictionaries there is no guaranteed "
"order to the keys returned by :meth:`keys`, but in an :class:`EmailMessage` "
"object, headers are always returned in the order they appeared in the "
"original message, or in which they were added to the message later. Any "
"header deleted and then re-added is always appended to the end of the header "
"list."
msgstr ""
#: library/email.message.rst:167
2016-10-30 09:46:26 +00:00
msgid ""
"These semantic differences are intentional and are biased toward convenience "
"in the most common use cases."
msgstr ""
#: library/email.message.rst:170
2016-10-30 09:46:26 +00:00
msgid ""
"Note that in all cases, any envelope header present in the message is not "
"included in the mapping interface."
msgstr ""
#: library/email.message.rst:176
2016-10-30 09:46:26 +00:00
msgid "Return the total number of headers, including duplicates."
msgstr ""
#: library/email.message.rst:181
2016-10-30 09:46:26 +00:00
msgid ""
"Return ``True`` if the message object has a field named *name*. Matching is "
"done without regard to case and *name* does not include the trailing colon. "
"Used for the ``in`` operator. For example::"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/email.message.rst:191
2016-10-30 09:46:26 +00:00
msgid ""
"Return the value of the named header field. *name* does not include the "
"colon field separator. If the header is missing, ``None`` is returned; a :"
"exc:`KeyError` is never raised."
msgstr ""
#: library/email.message.rst:195
2016-10-30 09:46:26 +00:00
msgid ""
"Note that if the named field appears more than once in the message's "
"headers, exactly which of those field values will be returned is undefined. "
"Use the :meth:`get_all` method to get the values of all the extant headers "
"named *name*."
msgstr ""
#: library/email.message.rst:200
2016-10-30 09:46:26 +00:00
msgid ""
"Using the standard (non-``compat32``) policies, the returned value is an "
"instance of a subclass of :class:`email.headerregistry.BaseHeader`."
msgstr ""
#: library/email.message.rst:206
2016-10-30 09:46:26 +00:00
msgid ""
"Add a header to the message with field name *name* and value *val*. The "
"field is appended to the end of the message's existing headers."
msgstr ""
#: library/email.message.rst:209
2016-10-30 09:46:26 +00:00
msgid ""
"Note that this does *not* overwrite or delete any existing header with the "
"same name. If you want to ensure that the new header is the only one "
"present in the message with field name *name*, delete the field first, e.g.::"
msgstr ""
#: library/email.message.rst:216
2016-10-30 09:46:26 +00:00
msgid ""
2017-05-27 17:46:38 +00:00
"If the :mod:`policy` defines certain headers to be unique (as the standard "
2016-10-30 09:46:26 +00:00
"policies do), this method may raise a :exc:`ValueError` when an attempt is "
"made to assign a value to such a header when one already exists. This "
"behavior is intentional for consistency's sake, but do not depend on it as "
"we may choose to make such assignments do an automatic deletion of the "
"existing header in the future."
msgstr ""
#: library/email.message.rst:226
2016-10-30 09:46:26 +00:00
msgid ""
"Delete all occurrences of the field with name *name* from the message's "
"headers. No exception is raised if the named field isn't present in the "
"headers."
msgstr ""
#: library/email.message.rst:233
2016-10-30 09:46:26 +00:00
msgid "Return a list of all the message's header field names."
msgstr ""
#: library/email.message.rst:238
2016-10-30 09:46:26 +00:00
msgid "Return a list of all the message's field values."
msgstr ""
#: library/email.message.rst:243
2016-10-30 09:46:26 +00:00
msgid ""
"Return a list of 2-tuples containing all the message's field headers and "
"values."
msgstr ""
#: library/email.message.rst:249
2016-10-30 09:46:26 +00:00
msgid ""
"Return the value of the named header field. This is identical to :meth:"
"`__getitem__` except that optional *failobj* is returned if the named header "
"is missing (*failobj* defaults to ``None``)."
msgstr ""
#: library/email.message.rst:254
2016-10-30 09:46:26 +00:00
msgid "Here are some additional useful header related methods:"
msgstr ""
#: library/email.message.rst:259
2016-10-30 09:46:26 +00:00
msgid ""
"Return a list of all the values for the field named *name*. If there are no "
"such named headers in the message, *failobj* is returned (defaults to "
"``None``)."
msgstr ""
#: library/email.message.rst:266
2016-10-30 09:46:26 +00:00
msgid ""
"Extended header setting. This method is similar to :meth:`__setitem__` "
"except that additional header parameters can be provided as keyword "
"arguments. *_name* is the header field to add and *_value* is the *primary* "
"value for the header."
msgstr ""
#: library/email.message.rst:271
2016-10-30 09:46:26 +00:00
msgid ""
"For each item in the keyword argument dictionary *_params*, the key is taken "
"as the parameter name, with underscores converted to dashes (since dashes "
"are illegal in Python identifiers). Normally, the parameter will be added "
"as ``key=\"value\"`` unless the value is ``None``, in which case only the "
"key will be added."
msgstr ""
#: library/email.message.rst:277
2016-10-30 09:46:26 +00:00
msgid ""
"If the value contains non-ASCII characters, the charset and language may be "
2017-04-02 20:14:06 +00:00
"explicitly controlled by specifying the value as a three tuple in the format "
2016-10-30 09:46:26 +00:00
"``(CHARSET, LANGUAGE, VALUE)``, where ``CHARSET`` is a string naming the "
"charset to be used to encode the value, ``LANGUAGE`` can usually be set to "
"``None`` or the empty string (see :rfc:`2231` for other possibilities), and "
"``VALUE`` is the string value containing non-ASCII code points. If a three "
"tuple is not passed and the value contains non-ASCII characters, it is "
"automatically encoded in :rfc:`2231` format using a ``CHARSET`` of ``utf-8`` "
"and a ``LANGUAGE`` of ``None``."
msgstr ""
#: library/email.message.rst:287
2016-10-30 09:46:26 +00:00
msgid "Here is an example::"
msgstr "Voici un exemple ::"
2016-10-30 09:46:26 +00:00
#: library/email.message.rst:291
2016-10-30 09:46:26 +00:00
msgid "This will add a header that looks like ::"
msgstr ""
#: library/email.message.rst:295
2016-10-30 09:46:26 +00:00
msgid "An example of the extended interface with non-ASCII characters::"
msgstr ""
#: library/email.message.rst:303
2016-10-30 09:46:26 +00:00
msgid ""
"Replace a header. Replace the first header found in the message that "
"matches *_name*, retaining header order and field name case of the original "
"header. If no matching header is found, raise a :exc:`KeyError`."
msgstr ""
#: library/email.message.rst:311
2016-10-30 09:46:26 +00:00
msgid ""
"Return the message's content type, coerced to lower case of the form :"
"mimetype:`maintype/subtype`. If there is no :mailheader:`Content-Type` "
"header in the message return the value returned by :meth:"
"`get_default_type`. If the :mailheader:`Content-Type` header is invalid, "
"return ``text/plain``."
msgstr ""
#: library/email.message.rst:317
2016-10-30 09:46:26 +00:00
msgid ""
"(According to :rfc:`2045`, messages always have a default type, :meth:"
"`get_content_type` will always return a value. :rfc:`2045` defines a "
"message's default type to be :mimetype:`text/plain` unless it appears inside "
"a :mimetype:`multipart/digest` container, in which case it would be :"
"mimetype:`message/rfc822`. If the :mailheader:`Content-Type` header has an "
"invalid type specification, :rfc:`2045` mandates that the default type be :"
"mimetype:`text/plain`.)"
msgstr ""
#: library/email.message.rst:328
2016-10-30 09:46:26 +00:00
msgid ""
"Return the message's main content type. This is the :mimetype:`maintype` "
"part of the string returned by :meth:`get_content_type`."
msgstr ""
#: library/email.message.rst:334
2016-10-30 09:46:26 +00:00
msgid ""
"Return the message's sub-content type. This is the :mimetype:`subtype` part "
"of the string returned by :meth:`get_content_type`."
msgstr ""
#: library/email.message.rst:340
2016-10-30 09:46:26 +00:00
msgid ""
"Return the default content type. Most messages have a default content type "
"of :mimetype:`text/plain`, except for messages that are subparts of :"
"mimetype:`multipart/digest` containers. Such subparts have a default "
"content type of :mimetype:`message/rfc822`."
msgstr ""
#: library/email.message.rst:348
2016-10-30 09:46:26 +00:00
msgid ""
"Set the default content type. *ctype* should either be :mimetype:`text/"
"plain` or :mimetype:`message/rfc822`, although this is not enforced. The "
"default content type is not stored in the :mailheader:`Content-Type` header, "
"so it only affects the return value of the ``get_content_type`` methods when "
"no :mailheader:`Content-Type` header is present in the message."
msgstr ""
#: library/email.message.rst:359
2016-10-30 09:46:26 +00:00
msgid ""
"Set a parameter in the :mailheader:`Content-Type` header. If the parameter "
"already exists in the header, replace its value with *value*. When *header* "
"is ``Content-Type`` (the default) and the header does not yet exist in the "
"message, add it, set its value to :mimetype:`text/plain`, and append the new "
"parameter value. Optional *header* specifies an alternative header to :"
"mailheader:`Content-Type`."
msgstr ""
#: library/email.message.rst:366
2016-10-30 09:46:26 +00:00
msgid ""
"If the value contains non-ASCII characters, the charset and language may be "
2017-04-02 20:14:06 +00:00
"explicitly specified using the optional *charset* and *language* "
"parameters. Optional *language* specifies the :rfc:`2231` language, "
"defaulting to the empty string. Both *charset* and *language* should be "
"strings. The default is to use the ``utf8`` *charset* and ``None`` for the "
"*language*."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/email.message.rst:373
2016-10-30 09:46:26 +00:00
msgid ""
"If *replace* is ``False`` (the default) the header is moved to the end of "
"the list of headers. If *replace* is ``True``, the header will be updated "
"in place."
msgstr ""
2020-10-02 08:55:01 +00:00
#: library/email.message.rst:394
2016-10-30 09:46:26 +00:00
msgid ""
"Use of the *requote* parameter with :class:`EmailMessage` objects is "
"deprecated."
msgstr ""
#: library/email.message.rst:380
2016-10-30 09:46:26 +00:00
msgid ""
"Note that existing parameter values of headers may be accessed through the :"
"attr:`~email.headerregistry.BaseHeader.params` attribute of the header value "
2018-12-24 13:20:55 +00:00
"(for example, ``msg['Content-Type'].params['charset']``)."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/email.message.rst:384
2016-10-30 09:46:26 +00:00
msgid "``replace`` keyword was added."
msgstr ""
#: library/email.message.rst:389
2016-10-30 09:46:26 +00:00
msgid ""
"Remove the given parameter completely from the :mailheader:`Content-Type` "
"header. The header will be re-written in place without the parameter or its "
"value. Optional *header* specifies an alternative to :mailheader:`Content-"
"Type`."
msgstr ""
#: library/email.message.rst:400
2016-10-30 09:46:26 +00:00
msgid ""
"Return the value of the ``filename`` parameter of the :mailheader:`Content-"
"Disposition` header of the message. If the header does not have a "
"``filename`` parameter, this method falls back to looking for the ``name`` "
"parameter on the :mailheader:`Content-Type` header. If neither is found, or "
"the header is missing, then *failobj* is returned. The returned string will "
"always be unquoted as per :func:`email.utils.unquote`."
msgstr ""
#: library/email.message.rst:411
2016-10-30 09:46:26 +00:00
msgid ""
"Return the value of the ``boundary`` parameter of the :mailheader:`Content-"
"Type` header of the message, or *failobj* if either the header is missing, "
"or has no ``boundary`` parameter. The returned string will always be "
"unquoted as per :func:`email.utils.unquote`."
msgstr ""
#: library/email.message.rst:419
2016-10-30 09:46:26 +00:00
msgid ""
"Set the ``boundary`` parameter of the :mailheader:`Content-Type` header to "
"*boundary*. :meth:`set_boundary` will always quote *boundary* if "
"necessary. A :exc:`~email.errors.HeaderParseError` is raised if the message "
"object has no :mailheader:`Content-Type` header."
msgstr ""
#: library/email.message.rst:424
2016-10-30 09:46:26 +00:00
msgid ""
"Note that using this method is subtly different from deleting the old :"
"mailheader:`Content-Type` header and adding a new one with the new boundary "
"via :meth:`add_header`, because :meth:`set_boundary` preserves the order of "
"the :mailheader:`Content-Type` header in the list of headers."
msgstr ""
#: library/email.message.rst:433
2016-10-30 09:46:26 +00:00
msgid ""
"Return the ``charset`` parameter of the :mailheader:`Content-Type` header, "
"coerced to lower case. If there is no :mailheader:`Content-Type` header, or "
"if that header has no ``charset`` parameter, *failobj* is returned."
msgstr ""
#: library/email.message.rst:440
2016-10-30 09:46:26 +00:00
msgid ""
"Return a list containing the character set names in the message. If the "
"message is a :mimetype:`multipart`, then the list will contain one element "
"for each subpart in the payload, otherwise, it will be a list of length 1."
msgstr ""
#: library/email.message.rst:444
2016-10-30 09:46:26 +00:00
msgid ""
"Each item in the list will be a string which is the value of the ``charset`` "
"parameter in the :mailheader:`Content-Type` header for the represented "
"subpart. If the subpart has no :mailheader:`Content-Type` header, no "
"``charset`` parameter, or is not of the :mimetype:`text` main MIME type, "
"then that item in the returned list will be *failobj*."
msgstr ""
#: library/email.message.rst:453
2016-10-30 09:46:26 +00:00
msgid ""
"Return ``True`` if there is a :mailheader:`Content-Disposition` header and "
"its (case insensitive) value is ``attachment``, ``False`` otherwise."
msgstr ""
#: library/email.message.rst:456
2016-10-30 09:46:26 +00:00
msgid ""
"is_attachment is now a method instead of a property, for consistency with :"
"meth:`~email.message.Message.is_multipart`."
msgstr ""
#: library/email.message.rst:463
2016-10-30 09:46:26 +00:00
msgid ""
"Return the lowercased value (without parameters) of the message's :"
"mailheader:`Content-Disposition` header if it has one, or ``None``. The "
"possible values for this method are *inline*, *attachment* or ``None`` if "
"the message follows :rfc:`2183`."
msgstr ""
#: library/email.message.rst:471
2016-10-30 09:46:26 +00:00
msgid ""
"The following methods relate to interrogating and manipulating the content "
"(payload) of the message."
msgstr ""
#: library/email.message.rst:477
2016-10-30 09:46:26 +00:00
msgid ""
"The :meth:`walk` method is an all-purpose generator which can be used to "
"iterate over all the parts and subparts of a message object tree, in depth-"
"first traversal order. You will typically use :meth:`walk` as the iterator "
"in a ``for`` loop; each iteration returns the next subpart."
msgstr ""
#: library/email.message.rst:482
2016-10-30 09:46:26 +00:00
msgid ""
"Here's an example that prints the MIME type of every part of a multipart "
"message structure:"
msgstr ""
#: library/email.message.rst:503
2016-10-30 09:46:26 +00:00
msgid ""
"``walk`` iterates over the subparts of any part where :meth:`is_multipart` "
"returns ``True``, even though ``msg.get_content_maintype() == 'multipart'`` "
"may return ``False``. We can see this in our example by making use of the "
"``_structure`` debug helper function:"
msgstr ""
#: library/email.message.rst:531
2016-10-30 09:46:26 +00:00
msgid ""
"Here the ``message`` parts are not ``multiparts``, but they do contain "
"subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends into the "
"subparts."
msgstr ""
#: library/email.message.rst:538
2016-10-30 09:46:26 +00:00
msgid ""
"Return the MIME part that is the best candidate to be the \"body\" of the "
"message."
msgstr ""
#: library/email.message.rst:541
2016-10-30 09:46:26 +00:00
msgid ""
"*preferencelist* must be a sequence of strings from the set ``related``, "
"``html``, and ``plain``, and indicates the order of preference for the "
"content type of the part returned."
msgstr ""
#: library/email.message.rst:545
2016-10-30 09:46:26 +00:00
msgid ""
"Start looking for candidate matches with the object on which the "
"``get_body`` method is called."
msgstr ""
#: library/email.message.rst:548
2016-10-30 09:46:26 +00:00
msgid ""
"If ``related`` is not included in *preferencelist*, consider the root part "
"(or subpart of the root part) of any related encountered as a candidate if "
"the (sub-)part matches a preference."
msgstr ""
#: library/email.message.rst:552
2016-10-30 09:46:26 +00:00
msgid ""
"When encountering a ``multipart/related``, check the ``start`` parameter and "
"if a part with a matching :mailheader:`Content-ID` is found, consider only "
"it when looking for candidate matches. Otherwise consider only the first "
"(default root) part of the ``multipart/related``."
msgstr ""
#: library/email.message.rst:557
2016-10-30 09:46:26 +00:00
msgid ""
"If a part has a :mailheader:`Content-Disposition` header, only consider the "
"part a candidate match if the value of the header is ``inline``."
msgstr ""
#: library/email.message.rst:560
2016-10-30 09:46:26 +00:00
msgid ""
2017-05-27 17:46:38 +00:00
"If none of the candidates matches any of the preferences in "
"*preferencelist*, return ``None``."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/email.message.rst:563
2016-10-30 09:46:26 +00:00
msgid ""
"Notes: (1) For most applications the only *preferencelist* combinations that "
"really make sense are ``('plain',)``, ``('html', 'plain')``, and the default "
"``('related', 'html', 'plain')``. (2) Because matching starts with the "
"object on which ``get_body`` is called, calling ``get_body`` on a "
"``multipart/related`` will return the object itself unless *preferencelist* "
"has a non-default value. (3) Messages (or message parts) that do not specify "
"a :mailheader:`Content-Type` or whose :mailheader:`Content-Type` header is "
"invalid will be treated as if they are of type ``text/plain``, which may "
"occasionally cause ``get_body`` to return unexpected results."
msgstr ""
#: library/email.message.rst:577
2016-10-30 09:46:26 +00:00
msgid ""
"Return an iterator over all of the immediate sub-parts of the message that "
"are not candidate \"body\" parts. That is, skip the first occurrence of "
"each of ``text/plain``, ``text/html``, ``multipart/related``, or ``multipart/"
"alternative`` (unless they are explicitly marked as attachments via :"
"mailheader:`Content-Disposition: attachment`), and return all remaining "
"parts. When applied directly to a ``multipart/related``, return an iterator "
"over the all the related parts except the root part (ie: the part pointed to "
"by the ``start`` parameter, or the first part if there is no ``start`` "
"parameter or the ``start`` parameter doesn't match the :mailheader:`Content-"
"ID` of any of the parts). When applied directly to a ``multipart/"
"alternative`` or a non-``multipart``, return an empty iterator."
msgstr ""
#: library/email.message.rst:593
2016-10-30 09:46:26 +00:00
msgid ""
"Return an iterator over all of the immediate sub-parts of the message, which "
"will be empty for a non-``multipart``. (See also :meth:`~email.message."
"EmailMessage.walk`.)"
msgstr ""
#: library/email.message.rst:600
2016-10-30 09:46:26 +00:00
msgid ""
"Call the :meth:`~email.contentmanager.ContentManager.get_content` method of "
"the *content_manager*, passing self as the message object, and passing along "
"any other arguments or keywords as additional arguments. If "
"*content_manager* is not specified, use the ``content_manager`` specified by "
"the current :mod:`~email.policy`."
msgstr ""
#: library/email.message.rst:609
2016-10-30 09:46:26 +00:00
msgid ""
"Call the :meth:`~email.contentmanager.ContentManager.set_content` method of "
"the *content_manager*, passing self as the message object, and passing along "
"any other arguments or keywords as additional arguments. If "
"*content_manager* is not specified, use the ``content_manager`` specified by "
"the current :mod:`~email.policy`."
msgstr ""
#: library/email.message.rst:618
2016-10-30 09:46:26 +00:00
msgid ""
"Convert a non-``multipart`` message into a ``multipart/related`` message, "
"moving any existing :mailheader:`Content-` headers and payload into a (new) "
"first part of the ``multipart``. If *boundary* is specified, use it as the "
"boundary string in the multipart, otherwise leave the boundary to be "
"automatically created when it is needed (for example, when the message is "
"serialized)."
msgstr ""
#: library/email.message.rst:628
2016-10-30 09:46:26 +00:00
msgid ""
"Convert a non-``multipart`` or a ``multipart/related`` into a ``multipart/"
"alternative``, moving any existing :mailheader:`Content-` headers and "
"payload into a (new) first part of the ``multipart``. If *boundary* is "
"specified, use it as the boundary string in the multipart, otherwise leave "
"the boundary to be automatically created when it is needed (for example, "
"when the message is serialized)."
msgstr ""
#: library/email.message.rst:638
2016-10-30 09:46:26 +00:00
msgid ""
"Convert a non-``multipart``, a ``multipart/related``, or a ``multipart-"
"alternative`` into a ``multipart/mixed``, moving any existing :mailheader:"
"`Content-` headers and payload into a (new) first part of the "
"``multipart``. If *boundary* is specified, use it as the boundary string in "
"the multipart, otherwise leave the boundary to be automatically created when "
"it is needed (for example, when the message is serialized)."
msgstr ""
#: library/email.message.rst:648
2016-10-30 09:46:26 +00:00
msgid ""
"If the message is a ``multipart/related``, create a new message object, pass "
"all of the arguments to its :meth:`set_content` method, and :meth:`~email."
"message.Message.attach` it to the ``multipart``. If the message is a non-"
"``multipart``, call :meth:`make_related` and then proceed as above. If the "
"message is any other type of ``multipart``, raise a :exc:`TypeError`. If "
"*content_manager* is not specified, use the ``content_manager`` specified by "
"the current :mod:`~email.policy`. If the added part has no :mailheader:"
"`Content-Disposition` header, add one with the value ``inline``."
msgstr ""
#: library/email.message.rst:661
2016-10-30 09:46:26 +00:00
msgid ""
"If the message is a ``multipart/alternative``, create a new message object, "
"pass all of the arguments to its :meth:`set_content` method, and :meth:"
"`~email.message.Message.attach` it to the ``multipart``. If the message is "
"a non-``multipart`` or ``multipart/related``, call :meth:`make_alternative` "
"and then proceed as above. If the message is any other type of "
"``multipart``, raise a :exc:`TypeError`. If *content_manager* is not "
"specified, use the ``content_manager`` specified by the current :mod:`~email."
"policy`."
msgstr ""
#: library/email.message.rst:673
2016-10-30 09:46:26 +00:00
msgid ""
"If the message is a ``multipart/mixed``, create a new message object, pass "
"all of the arguments to its :meth:`set_content` method, and :meth:`~email."
"message.Message.attach` it to the ``multipart``. If the message is a non-"
"``multipart``, ``multipart/related``, or ``multipart/alternative``, call :"
"meth:`make_mixed` and then proceed as above. If *content_manager* is not "
"specified, use the ``content_manager`` specified by the current :mod:`~email."
"policy`. If the added part has no :mailheader:`Content-Disposition` header, "
"add one with the value ``attachment``. This method can be used both for "
2018-12-24 13:20:55 +00:00
"explicit attachments (:mailheader:`Content-Disposition: attachment`) and "
2016-10-30 09:46:26 +00:00
"``inline`` attachments (:mailheader:`Content-Disposition: inline`), by "
"passing appropriate options to the ``content_manager``."
msgstr ""
#: library/email.message.rst:689
2016-10-30 09:46:26 +00:00
msgid "Remove the payload and all of the headers."
msgstr ""
#: library/email.message.rst:694
2016-10-30 09:46:26 +00:00
msgid ""
"Remove the payload and all of the :exc:`Content-` headers, leaving all other "
"headers intact and in their original order."
msgstr ""
#: library/email.message.rst:698
2016-10-30 09:46:26 +00:00
msgid ":class:`EmailMessage` objects have the following instance attributes:"
msgstr ""
#: library/email.message.rst:703
2016-10-30 09:46:26 +00:00
msgid ""
"The format of a MIME document allows for some text between the blank line "
"following the headers, and the first multipart boundary string. Normally, "
"this text is never visible in a MIME-aware mail reader because it falls "
"outside the standard MIME armor. However, when viewing the raw text of the "
"message, or when viewing the message in a non-MIME aware reader, this text "
"can become visible."
msgstr ""
#: library/email.message.rst:710
2016-10-30 09:46:26 +00:00
msgid ""
"The *preamble* attribute contains this leading extra-armor text for MIME "
"documents. When the :class:`~email.parser.Parser` discovers some text after "
"the headers but before the first boundary string, it assigns this text to "
"the message's *preamble* attribute. When the :class:`~email.generator."
"Generator` is writing out the plain text representation of a MIME message, "
"and it finds the message has a *preamble* attribute, it will write this text "
"in the area between the headers and the first boundary. See :mod:`email."
"parser` and :mod:`email.generator` for details."
msgstr ""
#: library/email.message.rst:720
2016-10-30 09:46:26 +00:00
msgid ""
"Note that if the message object has no preamble, the *preamble* attribute "
"will be ``None``."
msgstr ""
#: library/email.message.rst:726
2016-10-30 09:46:26 +00:00
msgid ""
"The *epilogue* attribute acts the same way as the *preamble* attribute, "
"except that it contains text that appears between the last boundary and the "
"end of the message. As with the :attr:`~EmailMessage.preamble`, if there is "
"no epilog text this attribute will be ``None``."
msgstr ""
#: library/email.message.rst:734
2016-10-30 09:46:26 +00:00
msgid ""
"The *defects* attribute contains a list of all the problems found when "
"parsing this message. See :mod:`email.errors` for a detailed description of "
"the possible parsing defects."
msgstr ""
#: library/email.message.rst:741
2016-10-30 09:46:26 +00:00
msgid ""
"This class represents a subpart of a MIME message. It is identical to :"
"class:`EmailMessage`, except that no :mailheader:`MIME-Version` headers are "
"added when :meth:`~EmailMessage.set_content` is called, since sub-parts do "
"not need their own :mailheader:`MIME-Version` headers."
msgstr ""
#: library/email.message.rst:748
2016-10-30 09:46:26 +00:00
msgid "Footnotes"
msgstr "Notes"
#: library/email.message.rst:749
2016-10-30 09:46:26 +00:00
msgid ""
2017-05-27 17:46:38 +00:00
"Originally added in 3.4 as a :term:`provisional module <provisional "
2016-10-30 09:46:26 +00:00
"package>`. Docs for legacy message class moved to :ref:`compat32_message`."
msgstr ""