Содержимое основного сообщения Python Email Base64 не может быть декодировано - PullRequest
0 голосов
/ 26 декабря 2018

Когда я пытаюсь разобрать тело письма, оно получится как

VCBJTkZPUk1BVElPTjwvdGQ+Cgk8L3RyPgoJPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Cgk8dHI+

И когда я пытаюсь декодировать его отдельно, оно успешно работает

import base64
data="VCBJTkZPUk1BVElPTjwvdGQ+Cgk8L3RyPgoJPHRyPjx0ZD4mbmJzcDs8L3RkPjwvdHI+Cgk8dHI+"
print(base64.b64decode((data)))

Вывод:

b'T INFORMATION</td>\n\t</tr>\n\t<tr><td>&nbsp;</td></tr>\n\t<tr>'

Но хотя я пытался сделать то же самое в моем скрипте синтаксического анализа почты, он не работает

try:
    mail = imaplib.IMAP4_SSL('imap.gmail.com')
    mail.login(FROM_EMAIL,FROM_PWD)
    mail.select('inbox')

    type, data = mail.search(None, 'ALL')
    mail_ids = data[0]

    id_list = mail_ids.split()
    first_email_id = int(id_list[0])
    latest_email_id = int(id_list[-1])
    print(id_list)
    print(first_email_id)
    print(latest_email_id)
    for i in data[0].decode().split(' '):
        print(i)
        typ, data = mail.fetch(i, '(RFC822)' )
        data=(data[0][1])
        print(base64.b64decode(data))

except Exception as e:
    print(str(e))

Вывод выглядит следующим образом:

b"\r\xe9b\xbd\xea\xdeu:-\xa2|\xa9\xae\x8b^rH&j)\\\"

Есть ли способ расшифровать это?

...