1

好的,所以我正在使用 imap 库来下载消息。我不想下载整个邮件只看附件。例如,当消息被接收并作为一个整体下载时,会显示以下 .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???<-------])’)

请帮忙!

4

1 回答 1

1

您将需要解析邮件的BODYSTRUCTURE以确定相关附件的部分编号。

server.fetch(‘6’, ‘(UID BODYSTRUCTURE)’)

然后您将需要实际获取您要查找的附件,查询将如下所示:

server.fetch('6', '(BODY[2.1])')

请注意,此示例中的部分部件 ID 为“2.1”。

于 2012-07-21T07:57:23.640 回答