在python中解析IMAP响应

Sta*_*asM 9 python imap imaplib

我使用imaplib在python中使用imap,但看起来它没有办法解析IMAP响应的细节.例如,查询如下:

   msgdata = connection.fetch(num, "(BODY.PEEK[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] UID)")
Run Code Online (Sandbox Code Playgroud)

num消息号在哪里,对于一个邮件服务器可能产生(例如):

  ('OK', [('1234 (BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ' UID 3456)'])
Run Code Online (Sandbox Code Playgroud)

另一个:

  ('OK', [('1234 (UID 3456 BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ')'])
Run Code Online (Sandbox Code Playgroud)

如您所见,消息详细信息不同,UID甚至在不同的元素中.所以问题是 - 是否有一些库可以自动对其进行排序并抽象出特定邮件服务器的功能细节?

lam*_*cck 7

Doug Hellman的imaplib周刊Python模块是一个关于这个主题的相当广泛的教程,但在这里重现还很长.

您可能希望使用更高级别的库(如IMAPClient)来隐藏IMAP协议的一些详细信息.

  • 不幸的是,Doug的教程有点像分析更复杂的fetch()响应主题。感谢您指向IMAPClient的链接,我将对其进行检查。 (2认同)