IMAP Fetch Encoding - PullRequest
       76

IMAP Fetch Encoding

2 голосов
/ 07 августа 2011

Я пытаюсь получить некоторую информацию из электронной почты из gmail, используя imap, как этот

"(BODY.PEEK[HEADER.FIELDS (subject from date)] X-GM-MSGID X-GM-LABELS X-GM-THRID)"

Проблема в том, что он не работает хорошо со специальными и акцентированными символами.Например,

Stéphane Maniaci

отображается как

=?ISO-8859-1?Q?St=E9phane_Maniaci?=

Как мне сказать Gmail возвращать строки с выбранной кодировкой, скажем, я хочу, чтобы Charset был UTF-8.

Как настроить это в упомянутой выше команде IMAP?

1 Ответ

4 голосов
/ 18 августа 2011

Хорошо.Я обнаружил, что email.utils может очень помочь здесь.

У него есть методы для анализа даты, электронных писем и любой другой информации из сообщений imap.

Также есть методы для декодирования строк imap.Как это

from email.header import decode_header
value, charset = decode_header(string_to_be_decoded)
...