Доброго времени суток.
Решил освоить Python, ну шоб с пользой для дела - под конкретную задачу. Для нее как нельзя лучше подходит пример, который есть в половине интернета, немного переделав под себя получил следующий код
# -*- coding: UTF-8 -*-
import poplib, email, quopri
server='pop3.mail.ru'
user='xxxx@mail.ru'
passwd='xxxxx'
pop=poplib.POP3(server)
print pop.user(user)
print pop.pass_(passwd)
response, lst, octets = pop.list()
print response
for msgnum, msgsize in :
print “Сообщение %(msgnum)s имеет длину %(msgsize)s” % vars()
print “UIDL =”, pop.uidl(int(msgnum)).split()
(resp, lines, octets) = pop.retr(msgnum)
msgtxt = “\n”.join(lines)+“\n\n”
msg=email.message_from_string(msgtxt)
print “* От: %(from)s\n* Кому: %(to)s\n* Тема: %(subject)s\n” % msg
print pop.quit()
получаю следующий результат
Сообщение 53 имеет длину 1744
UIDL = 1322122204905
* От: =?KOI8-R?Q?=F5=C4=CF=D7=C5=CE=CB=CF_=F3=C5=D2=C7=C5=CA?=
<
xxx@bk.ru>
* Кому:
xxx@mail.ru* Тема: Fwd: =?KOI8-R?Q?=F4=C5=CB=D5=DD=C9=C5_=CB=D5=D2=D3=D9_=D7=C1?=
=?KOI8-R?Q?=CC=C0=D4_=CB_=D2=D5=C2=CC=C0_=D7_=D3=C9=D3=D4=C5=CD=C5?=
=?KOI8-R?Q?_=3F=F4=C5=CC=C5=C2=C1=CE=CB=3F?=
Сообщение 54 имеет длину 1828
UIDL = 1322201447320
* От: =?utf-8?B?0KHQuNGB0YLQtdC80LAg0YPQstC10LTQvtC80LvQtdC90LjQuSDQktCi0JEgMjQgKNCX0JDQnik=?= <
notify@vtb24.ru>
* Кому:
xxx@bk.ru* Тема: =?utf-8?B?0JrRg9GA0YHRiyDQsdC10LfQvdCw0LvQuNGH0L3QvtC5INC60L7QvdCy0LXRgNGB0LjQuCDQstCw0LvRjtGC0LAt0LLQsNC70Y7RgtCwINCyINGB0LjRgdGC0LXQvNC1IMKr0KLQtdC70LXQsdCw0L3QusK7?=
я уже по всякому пробовал но ничего сделать не могу как мне раскодировать все эти строки? причем видно же что письма приходят в разных кодировках, а почему выводятся неправильно не пойму.