Python POP3 lib att кодировка - PullRequest
       4

Python POP3 lib att кодировка

0 голосов
/ 10 февраля 2012

У меня есть скрипт на python, который загружает атрибуты из почтового ящика POP3.Но у меня есть небольшая проблема с некоторыми кодировками ..

    for i in range(self.count_inbox(client))[:20]:
        lines = client.retr(i+1)[1]
        mstring = string.join(lines, "\n")

        # Loop trough part of each mails
        for part in email.message_from_string(mstring).walk():
            try:
                filename = part.get_filename()
            except:
                filename = None

            if filename:
                attchments[filename] = part.get_payload(decode=True)

Некоторые из файлов att названы:

Хорошо:

191720_15728883_20120207_151138.pdf

Invoice_3565382.pdf

Ошибка:

=? Windows-1252? Q? Factuur_751845.pdf? =

1 Ответ

1 голос
/ 10 февраля 2012

=?Windows-1252?Q?Factuur_751845.pdf?= - это название MIME-кодированного слова, см .: http://en.wikipedia.org/wiki/MIME#Encoded-Word

Вы можете декодировать его с помощью email.header.decode_header, см. Пример по адресу: http://docs.python.org/library/email.header.html#email.header.decode_header

...