def connect():
import imapclient
number = 1
login = '***22-3@mail.ru'
password = 'Sxz3***PDpFvxb'
server = 'imap.mail.ru'
imapObj = imapclient.IMAPClient(server, ssl=True)
imapObj.login(login, password)
imapObj.select_folder('INBOX', readonly=True)
UIDs = imapObj.search(['ALL'])
for id_s in UIDs:
print(f'Сообщение №{number}')
rawMessages = imapObj.fetch(id_s, ['BODY[]'])
give_text_message(rawMessages, id_s)
number+=1
def give_text_message(r_mess, id_mes):
import pyzmail
import email
message = pyzmail.PyzMessage.factory(r_mess[id_mes][b'BODY[]'])
fr_m = message.get_addresses('from')
to = message.get_addresses('to')
subject = message.get_subject()
txt_message = message.get_payload() ---<<< Проблема тут
print(f'===---===---===---===---===---===---===---\n'
f'Сообщение от пользователя: \t {fr_m[0][0].ljust(10)} \t e-mail:{fr_m[0][1]}\n'
f'На вашу почту: {to[0][1].rjust(32)}\n'
f'Тема: {subject.rjust(24)}\n\n'
f'Сообщение:\n{txt_message}\n\n')
if __name__ == '__main__':
connect()
Проблема в том, что мои сообщения(обчные) декодируются в формате HTML, т.е с тегами
Например: div Приветос это сообщение номер 3 /div (скобки убрал)
А сообщения в другом формате, ДАЖЕ НЕ ЗНАЮ КАКОМ, например восстановление пароля от хабра:
Сообщение №6
===---===---===---===---===---===---===---
Сообщение от пользователя: Habr account mailer e-mail:account@habr.com
На вашу почту: **-22-3@mail.ru
Тема: Восстановление пароля от Хабр Аккаунта
Сообщение:
email.message.Message object at 0x02F7EF58, email.message.Message object at 0x02F7ED90
Приходят вот в таком формате
Помогите разобраться с этой проблемой, мне необходимо получить обычный текст сообщения, без тегов, если есть вложения нужны ссылки...
Буду максимально благодарен за помощь в этом вопросе
И еще есть вопрос номер 2:
У меня возникла проблема с подключением к ящику Gmail и yandex
Может кто то с этим сталкивался?
Gmail ругаеться на SSL
Yandex на какие то общие проблемы