Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите исправить скрипт пожалуйста

макс максимов Ученик (129), на голосовании 3 месяца назад
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':
print(email_data[0][1].decode('utf-8'))
else:
print('Ошибка при получении сообщений.')


mail.logout()


time.sleep(10)

except KeyboardInterrupt:
print('Программа завершена.')
break

скрипт выдает пришедшие сообщения в зашифрованном формате, пример ниже
Голосование за лучший ответ
スネーク フリーフライト Ученик (223) 4 месяца назад
Попробуй это
 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
Похожие вопросы