python email character-encoding imap mime

Python IMAP:=? Utf-8? Q? en la secuencia del sujeto



email character-encoding (2)

Estoy mostrando un nuevo correo electrónico con IMAP , y todo se ve bien, a excepción de un tema del mensaje que se muestra como:

=?utf-8?Q?Subject?=

¿Cómo puedo arreglarlo?


En la terminología MIME, esos fragmentos codificados se denominan palabras codificadas. Puedes decodificarlos así:

import email.Header text, encoding = email.Header.decode_header(''=?utf-8?Q?Subject?='')[0]

Consulte los documentos por email.Header . email.Header para obtener más detalles.


Esta es una palabra codificada MIME. Puedes analizarlo con email.header :

import email.header def decode_mime_words(s): return u''''.join( word.decode(encoding or ''utf8'') if isinstance(word, bytes) else word for word, encoding in email.header.decode_header(s)) print(decode_mime_words(u''=?utf-8?Q?Subject=c3=a4?=X=?utf-8?Q?=c3=bc?=''))