Как исправить, что imaplib возвращает непонятный текст (возможно, base64)? - PullRequest
0 голосов
/ 11 января 2019

Я работаю над тем, чтобы иметь возможность извлекать тела писем для последующего использования в моей программе, где я буду извлекать определенные фрагменты текста. Код работает до сих пор с электронными письмами, отправленными из учетной записи Gmail в другую учетную запись Gmail, но возвращает кучу странного текста при попытке прочитать электронную почту, отправленную из папки входящих сообщений Outlook.

Я попытался расшифровать его из base64, но, похоже, это не помогло.

 import imaplib
 import email

 username = "XXXX"
 password = "YYYY"

 imap = imaplib.IMAP4_SSL("imap.gmail.com", 993)    
 imap.login(username, password)
 imap.select('INBOX')


 status, response = imap.search(None, 'UNSEEN')
 unreadmsgs = response[0].split()

 result, data = imap.fetch(unreadmsgs[0], "(UID BODY[TEXT])")

 raw_mail = email.message_from_string(data[0][1])
 raw2= raw_mail.get_payload(decode=True)
 print(raw2) 

Это возвращает что-то вроде ниже, когда я вместо этого ищу читаемый текст.

--_000_VI1PR07MB3966DEECC2518D0D5C2C2EF6C4850VI1PR07MB3966eurp_ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 DQoNCkZyb206IFBlYWNlVGVjaCBBY2NlbGVyYXRvciA8ZGltaXRyYS5oYXR6dWRpc0BjNWNhcGl0YWwuY29tPg0KU2VudDogTW9uZGF5LCBKYW51YXJ5IDcsIDIwMTkgMTE6NDMgUE0NClRvOiBEaW1pdHJhIEhhdHp1ZGlzIDxEaW1pdHJhLkhhdHp1ZGlzQGM1Y2FwaXRhbC5jb20+OyBIYWRlZWwgQWwtVGFzaGkgPGhhZGVlbC5hbHRhc2hpQGM1Y2FwaXRhbC5jb20+DQpTdWJqZWN0OiBOaW5qYSBGb3JtcyBTdWJtaXNzaW9uDQoNCkNvbXBhbnkgLyBTdGFydHVwIE5hbWU6DQoNClNlbnNlIEFmcmljYQ0KDQpHaXZlIHVzIGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgeW91ciBpbXBhY3QgdmVudHVyZS46DQoNCldlIGhhdmUgYSBnbG9iYWwgdmlzaW9uIG9mIHByb21vdGluZyBjaXRpemVuIHBhcnRpY2lwYXRpb24gaW4gcHVibGljIGRpc2NvdXJzZS4NClNpbmNlIG91ciBsYXVuY2ggaW4gMjAxNy8yMDE4IGluIENhbWVyb29uLCBvdXIgY29tbWl0bWVudCB0byB0aGF0IHZpc2lvbiB3YXMgaW1wbGVtZW50ZWQgYnkgbWFraW5nIGxvY2FsIG5ld3MgYW5kIG90aGVyIG5vbi1maWN0aW9uIG1lZGlhIG1vcmUgYWNjZXNzaWJsZS4gV2UgYXJlIG5vdyB0aGUg...... и так далее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...