有没有一种方法可以使用imaplib监视gmail帐户而无需每次想查看是否有新邮件时轮询gmail。换句话说,我只希望脚本在收到新邮件时得到通知,以便我可以立即处理它,而不是在轮询之间出现任何延迟。
我看到IMAP协议支持使用IDLE命令实现此目的,但在imaplib文档中没有找到任何有关它的文档,因此对此的任何帮助都将非常棒!
我看到IMAP协议支持使用IDLE命令实现此目的,但在imaplib文档中没有找到任何有关它的文档,因此对此的任何帮助都将非常棒!
据我所知,在imaplib中没有这样的功能(免责声明:我对Python了解甚少),不过似乎有人为Python实现了一个IDLE扩展,它具有与imaplib相同的接口(您可以毫无改动地替换它,而不会影响现有的代码):
看看ProcImap。它是建立在libimap和libimap2之上的更抽象的框架,提供了一个处理IMAP服务的好方法。看起来正是你们想要的东西,对我来说也是一样。我有和你们一样的问题,刚刚发现了ProcImap。打算自己试试。
这个链接展示了一个使用IMAP IDLE的例子:http://blog.timstoop.nl/2009/03/11/python-imap-idle-with-imaplib2/
它使用了与casperOne回答中链接到的同一个库(imaplib2)。