Я хочу получить тело (только текст) электронных писем, используя python imap и пакет электронной почты.
Согласно этому потоку SO, я использую следующий код:
mail = email.message_from_string(email_body)
bodytext = mail.get_payload()[ 0 ].get_payload()
Хотя в некоторых случаях это работает нормально, но иногда я получаю ответ, похожий на следующий
[<email.message.Message instance at 0x0206DCD8>, <email.message.Message instance at 0x0206D508>]
Решение проблемы
Моя внешняя библиотека: https://github.com/ikvk/imap_tools
from imap_tools import MailBox
# get list of email bodies from INBOX folder
with MailBox('imap.mail.com').login('test@mail.com', 'pwd', 'INBOX') as mailbox:
bodies = [msg.text or msg.html for msg in mailbox.fetch()]
Комментариев нет:
Отправить комментарий