"email.encoders" : Encodeurs
****************************

**Code source :** Lib/email/encoders.py

======================================================================

Ce module fait partie du code patrimonial ("Compat32") de l'API mail.
Dans la nouvelle API la fonctionnalité est fournie par le paramètre
*cte* de la méthode "set_content()".

Ce module est obsolète en Python 3. Il n'est pas de besoin d'appeler
explicitement les fonctions définies ici puisque la classe "MIMEText"
ajuste le type de contenu et l'entête CTE à l'aide des paramètres
*_subtype* et *_charset* de son constructeur.

Le texte restant de cette section est la documentation originale de ce
module.

Au moment de la création d'objets "Message" à la main, il est souvent
nécessaire d'encoder les charges utiles pour le transport à travers
des serveurs mail conformes. C'est particulièrement vrai pour les
messages de type *image/** et *text/** contenant des données binaires.

The "email" package provides some convenient encoders in its
"encoders" module.  These encoders are actually used by the
"MIMEAudio" and "MIMEImage" class constructors to provide default
encodings.  All encoder functions take exactly one argument, the
message object to encode.  They usually extract the payload, encode
it, and reset the payload to this newly encoded value.  They should
also set the *Content-Transfer-Encoding* header as appropriate.

À noter que ces fonctions n'ont pas de sens dans le cadre d'un message
en plusieurs parties. Elles doivent à la place être appliquées aux
sous-parties individuelles, et lèvent "TypeError" si on leur passe un
message en plusieurs parties.

Voici les fonctions d'encodages fournies :

email.encoders.encode_quopri(msg)

   Encode la charge utile au format Quoted-Printable, et assigne
   "quoted-printable" [1] à l'en-tête *Content-Transfer-Encoding*.
   C'est un bon encodage à utiliser quand la majorité de la charge
   utile contient essentiellement des données imprimables, à
   l'exceptions de quelques caractères.

email.encoders.encode_base64(msg)

   Encode la charge utile au format *base64*, et assigne "base64" à l
   'en-tête *Content-Transfer-Encoding*. C'est un bon encodage à
   utiliser quand la majorité de la charge utile est non imprimable
   puisque c'est une forme plus compacte que *quoted-printable*.

email.encoders.encode_7or8bit(msg)

   Ceci ne modifie pas effectivement la charge utile du message, mais
   va bien en revanche assigner la valeur "7bit" ou "8bit" à l'en-tête
   *Content-Transfer-Encoding* selon la nature de la charge utile.

email.encoders.encode_noop(msg)

   Ceci ne fait rien; et ne va même pas changer la valeur de l'en-tête
   *Content-Transfer-Encoding*.

-[ Notes ]-

[1] À noter que l'encodage avec "encode_quopri()" encode également
    tous les caractères tabulation et espace.
