email.encoders: Codificadores

Código fuente: Lib/email/encoders.py


Este módulo forma parte de la anterior API de correo electrónico (Compat32). En la nueva API, la funcionalidad la proporciona el parámetro cte del método set_content().

Este módulo está obsoleto en Python 3. Las funciones que aparecen aquí no deberían ser llamadas explícitamente ya que la clase MIMEText establece el tipo de contenido y el encabezado CTE utilizando los valores del _subtype y del _charset que se pasan cuando se instancia esa clase.

El texto que viene a continuación corresponde a la documentación original del módulo.

Cuando se crean objetos Message desde 0, a menudo se necesita codificar el contenido del mensaje para transportarlo a través de servidores de correo electrónico adecuados. Esto es así especialmente para el tipo de mensajes image/* y text/* que contienen datos binarios.

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.

Ten en cuenta que estas funciones no sirven para un mensaje con múltiples partes. En lugar de aplicarlo al mensaje completo, las funciones deben aplicarse a cada subparte individual. Si se pasa un mensaje de múltiples partes como argumento se activara un mensaje de error TypeError.

A continuación, una lista de las funciones de codificación facilitadas:

email.encoders.encode_quopri(msg)

Codifica el contenido en formularios entrecomillados e imprimibles y marca el encabezado Content-Transfer-Encoding como quoted-printable [1]. Es un buen codificador para usar cuando la mayoría del contenido son datos imprimibles normales pero hay algún dato que no es imprimible.

email.encoders.encode_base64(msg)

Codifica el contenido en un formulario base64 y marca el encabezado Content-Transfer-Encoding como base64. Esta codificación es buena cuando la mayoría del contenido son datos no imprimibles ya que es un formulario más compacto que formularios entrecomillados e imprimibles. La desventaja es que incluye el texto que no es leíble por los humanos.

email.encoders.encode_7or8bit(msg)

Esto, en realidad, no modifica el contenido del mensaje, pero fija el encabezado Content-Transfer-Encoding a 7bit u 8bit, lo que considere más adecuado en función del contenido del mensaje.

email.encoders.encode_noop(msg)

Esto no hace nada; ni siquiera fija el encabezado Content-Transfer-Encoding.

Notas