2012-07-15 91 views
1

好吧,所以我使用imap lib來下載消息。我不想只下載附件中的全部消息。像例如當消息被收到並下載整個下面的.txt附件被示出:電子郵件消息python抓取消息的部分

------=_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???<-------])’) 

請幫幫忙!

回答

1

您將需要解析消息的BODYSTRUCTURE以確定所涉附件的部分編號是什麼。

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

然後,你將需要真正獲取您正在尋找的附件,查詢會是這個樣子:

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

注意,部分部件ID是「2.1」在這個例子中。

相關問題