imaplib…了解RFC822获取的结果

我正在使用iMaplib的fetch命令来获取消息. 我得到一个 结果,但是我应该如何解释它有点不确定. 结果在http://pydoc.org/2.3/imaplib.html as :: (typ,[data,...])= .fetch(message_set,message_parts) 在RFC 2060中,它说:"要获取的数据项可以是 单原子或括号列表." 所以我做的是: mailconn.uid('fetch','1:*','(rfc822)') 结果,我收到以下结果(来自2个不同的服务器): #Mailserver 1 消息= [ ('1(uid 2 rfc822 {616}','接收:snip ..."), ')', ('2(uid 4 rfc822 {626}','接收:snip ..."), ')', 这是给予的 #Mailserver 2 消息= [ ('1(rfc822 {1155}'," return-path:snip ..."), 'uid 1)', ('2(rfc822 {977}'," return-path:snip ..."), 'uid 2)', ('3(rfc822 {1016}'," return-path:snip ..."), 'uid 3)', ('4(rfc822 {1153}'," return-path:snip ..."), 'uid 4)', ('5(RFC822 {732}','Mime-version:snip ...'), 'uid 5)', 这是给予的 这只是一个长列表,似乎具有结构: list = [ (信封启动,rfc288-message),信封端, (信封启动,rfc288-message),信封端, (信封启动,rfc288-message),信封端, 这是给予的 对我来说,这是一种奇怪的格式. 这是一个括号的列表,但不是 真的. 我想我可以像: for((exeverestart,msg),envelopeend)范围(0,len(messages),2): # 做东西 但是我有点不确定,在某些边缘情况下它不会破裂. 有人知道为什么imaplib返回这样的结果吗? - - 希尔森/丹麦Max M,http://www.mxm.dk/ 这是疯狂的科学

# 回答1

Max M写道: 我猜不是. 我的意思是: 对于I范围(0,LEN(结果),2): ((exeverestart,msg),envelopeend)=(结果[0],结果[1]) - - 希尔森/丹麦Max M,http://www.mxm.dk/ 这是疯狂的科学
# 回答2

在文章<41 *********************************************************************************************************************** news.tele.dk>, max m 写道: 为了阅读 整件事情. 那个'{616}'是您可能推测的 以下文本的长度,超过一行, 因此,Imaplib需要该数字. 目的不是提供 您通过完全解析的IMAP4响应,您只是得到 一路上需要的数据和任何解析. 在 一种不利的理想感觉,最好是最好的 碎片回到一起,只给您回应 一弦. Donn Cave,do@u.washington.edu

标签: python

添加新评论