好的,所以我正在使用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???<-------])’)
请帮忙!
您需要解析消息的BODYSTRUCTURE,以确定有问题的附件的部分编号。
server.fetch(‘6’, ‘(UID BODYSTRUCTURE)’)
然后,您需要实际获取您要查找的附件,查询将如下所示:
server.fetch('6', '(BODY[2.1])')
请注意,在本例中,部分id为"2.1"。