好的,我正在使用imap lib下载邮件。我不想下载整个邮件只看附件。例如,当收到邮件并作为整体下载时,会显示以下.txt附件:
------=_Part_1476882_26131288.1342315902872--
------=_Part_1476883_28164997.1342315902872--
Content-Type: application/octet-stream;
name=textplain_2.txt
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=textplain_2.txt
Bhh
------=_Part_1476883_28164997.1342315902872--
上述消息中的Bhh是文本文件的内容。有没有办法下载附件?我在http://www.devshed.com/c/a/Python/Python-Email-Libraries-part-2-IMAP/3/上看到了一个关于此问题的教程,但我不确定如何下载或获取所附文本文件的内容......
他们建议做点像......
r, data = server.fetch(‘6’, ‘(UID BODY[TEXT])’)
r, data = server.fetch(‘6’, ‘(UID ENVELOPE)’)
r, data = server.fetch(‘2:5’, ‘(BODY[HEADER.FIELDS (SUBJECT FROM)])
我认为这将是:
server.fetch(‘6’, ‘(UID BODY[ATTACHMENT???<-------])’)
请帮忙!
答案 0 :(得分:1)
您需要解析邮件的BODYSTRUCTURE,以确定相关附件的部分编号是什么。
server.fetch(‘6’, ‘(UID BODYSTRUCTURE)’)
然后您需要实际获取您要查找的附件,查询将如下所示:
server.fetch('6', '(BODY[2.1])')
请注意,此示例中的section part id为“2.1”。