Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+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

скрипт выдает пришедшие сообщения в зашифрованном формате, пример ниже

По дате
По рейтингу
Аватар пользователя
Ученик

Попробуй это

123456789101112131415161718192021222324252627282930313233
 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