Форум сайта python.su
Более менее разобрался как подключатся к POP серверу и взаимодействовать с ним:
# -*- coding: koi8-r -*- import poplib import base64 import quopri import re def decode_subject(inp): found = re.findall(r'=\?([a-zA-Z0-9-]+)\?([bqBQ])\?([a-zA-Z0-9/+=]{4,})={0,2}\?', inp.decode('utf8', 'ignore')) try: found = list(filter(bool, found[0])) except IndexError: return inp # if found[1].upper() == 'B': text = base64.b64decode(found[2]).decode(found[0], 'replace') else: text = quopri.decodestring(found[2]).decode(found[0], 'replace') return 'Subject: {}'.format(text) server = "pop.mail.ru" port = "995" user = "здесь логин" pasw= 'здесь пароль' mServer = poplib.POP3_SSL(server,port) mServer.user(user) mServer.pass_(pasw) print(mServer.stat()) messages = [] senders = [] numMessages = len(mServer.list()[1]) for i in range(numMessages): for msg in mServer.top(i+1,0)[1]: if msg.startswith(b'Subject'): messages.append(msg) if msg.startswith(b'Return-path'): senders.append(msg) print (mServer.retr(2)) # # mServer.dele(3) # for i in messages: print(decode_subject(i)) print('\n') for i in senders: print(i) print (mServer.quit()) #
Офлайн
https://github.com/VadymRud/email_downloader
Єто я писал недавно
Офлайн
> Пробовал его декодировать с помощью функции base64.b64decode(), питон ругается, говорит давай ASCII:
У меня всё работает:
>>> import base64 >>> s = "O3ZhbHVlIFBST0M9IklOUyImZ3Q7LTQuOTMmbHQ7L3ZhbHVlJmd0Ozxicj4KJmx0Oy9wYXJhbWV0" >>> base64.b64decode(s) ';value PROC="INS">-4.93</value><br>\n</paramet'
Офлайн
helm2004Что то для новичка совсем сложно для понимания Комментариев минимум
https://github.com/VadymRud/email_downloaderЄто я писал недавно
RodegastВидимо не очень хороший обрывок кода, я для примера показал. По этому для понимания, прикрепил полную версию программы.
У меня всё работает:
Прикреплённый файлы:
pythonsu1.py (1,5 KБ)
Офлайн