Попробуй это
import imaplib
import time
import base64
email = "почта"
password = 'тут пароль'
imap_server = 'тут IMAP'
while True:
try:
mail = imaplib.IMAP4_SSL(imap_server)
mail.login(email, password)
mail.select('inbox')
status, email_ids = mail.search(None, 'UNSEEN')
if status == 'OK':
for email_id in email_ids[0].split():
status, email_data = mail.fetch(email_id, '(RFC822)')
if status == 'OK':
# Декодируйте тело сообщения из base64
decoded_email = base64.b64decode(email_data[0][1])
print(decoded_email.decode('utf-8'))
else:
print('Ошибка при получении сообщений.')
mail.logout()
time.sleep(10)
except KeyboardInterrupt:
print('Программа завершена.')
break
макс максимовУченик (129)
4 месяца назад
Ошибка
Traceback (most recent call last):
File "C:\Users\ALFA\PycharmProjects\Virt\main.py", line 59, in <module>
print(decoded_email.decode('utf-8'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 1: invalid start byte
password = 'тут пароль'
imap_server = 'тут IMAP'
while True:
try:
mail = imaplib.IMAP4_SSL(imap_server)
mail.login(email, password)
mail.select ('inbox')
status, email_ids = mail.search (None, 'UNSEEN')
if status == 'OK':
for email_id in email_ids[0].split():
status, email_data = mail.fetch(email_id, '(RFC822)')
if status == 'OK':
print(email_data[0][1].decode('utf-8'))
else:
print('Ошибка при получении сообщений.')
mail.logout()
time.sleep(10)
except KeyboardInterrupt:
print('Программа завершена.')
break
скрипт выдает пришедшие сообщения в зашифрованном формате, пример ниже