我对 python 很陌生,我正在尝试通过 python 的 imaplib 和电子邮件解析来自 gmail 的电子邮件。它工作得很好,但我遇到了电子邮件附件的问题。
我想解析电子邮件中的所有纯文本,同时忽略可能作为辅助内容类型插入的任何 HTML,同时删除和保存所有其他附件。我一直在尝试以下方法:
...imaplib connection and mailbox selection...
typ, msg_data = c.fetch(num, '(RFC822)')
email_body = msg_data[0][1]
mail = email.message_from_string(email_body)
for part in mail.walk():
if part.get_content_type() == 'text/plain':
body = body + '\n' + part.get_payload()
else:
continue
这是我最初尝试只获取电子邮件的明文部分,但是当有人发送带有文本附件的电子邮件时,文本文件的内容会显示在上面的“正文”变量中。
有人能告诉我如何在忽略有时存在的辅助 HTML 的同时提取电子邮件的纯文本部分,同时将所有其他类型的文件附件保存为文件吗?如果这没有多大意义,我深表歉意。如果需要,我将更新问题并提供更多说明。