Проблема с форматами выборки imaplib: RFC822 отменить utf8? - PullRequest
0 голосов
/ 27 сентября 2011

Я хочу прочитать сообщение электронной почты в формате utf8. И это не работает со следующим кодом: я предполагаю, что мне нужно использовать другой формат, но какой и как? Выход дает что-н. например, "= C3 = 96sterreich" для "Österreich". Пока у меня есть это ... Спасибо

import imaplib
import email

imap4 = imaplib.IMAP4(SERVER)
imap4.login(USER, PASSWORD)
imap4.select()
typ, data = imap4.search(None,'(UNSEEN SUBJECT "%s")' % subject)
for num in data[0].split():
    typ, data = imap4.fetch(num,'(RFC822)')
    msg = email.message_from_string(data[0][1])
    typ, data = imap4.store(num,'-FLAGS','\\Seen')
    print msg    

1 Ответ

3 голосов
/ 27 сентября 2011

Данные в контейнерах MIME обычно кодируются с использованием «цитируемого-печатаемого» кодека.Я не знаю внутренностей imaplib, но я верю, что вы ищете quopri.decodestring().

...