email.encoders: Encoders

Código-fonte: Lib/email/encoders.py


Este módulo faz parte da API legada de e-mail (Compat32). Na nova API, a funcionalidade é fornecida pelo parâmetro cte do método set_content().

Este módulo está descontinuado no Python 3. As funções fornecidas aqui não devem ser chamadas explicitamente, pois a classe MIMEText define o tipo de conteúdo e o cabeçalho CTE usando os valores _subtype e _charset passados durante a instanciação dessa classe.

O texto restante nesta seção é a documentação original do módulo.

Ao criar objetos Message do zero, você frequentemente precisa codificar as cargas úteis para transporte por meio de servidores de e-mail compatíveis. Isso é especialmente verdadeiro para mensagens do tipo image/* e text/* contendo dados binários.

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.

Observe que essas funções não são significativas para uma mensagem multiparte. Elas devem ser aplicadas a subpartes individuais, e levantarão um TypeError se for passada uma mensagem cujo tipo seja multiparte.

Aqui estão as funções de codificação fornecidas:

email.encoders.encode_quopri(msg)

Codifica a carga útil em formato quoted-printable e define o cabeçalho Content-Transfer-Encoding como quoted-printable 1. Esta é uma boa codificação para usar quando a maior parte da sua carga útil é de dados imprimíveis normais, mas contém alguns caracteres não imprimíveis.

email.encoders.encode_base64(msg)

Codifica a carga útil em formato base64 e define o cabeçalho Content-Transfer-Encoding para base64. Esta é uma boa codificação para usar quando a maior parte da sua carga útil é de dados não imprimíveis, pois é um formato mais compacto do que quoted-printable. A desvantagem da codificação base64 é que ela torna o texto não legível por humanos.

email.encoders.encode_7or8bit(msg)

Na verdade, isso não modifica a carga útil da mensagem, mas define o cabeçalho Content-Transfer-Encoding para 7bit ou 8bit, conforme apropriado, com base nos dados da carga útil.

email.encoders.encode_noop(msg)

Isso não faz nada; nem mesmo define o cabeçalho Content-Transfer-Encoding.

Notas de rodapé

1

Observe que a codificação com encode_quopri() também codifica todos os caracteres de tabulação e espaço nos dados.