1

现在,我想编写一个程序(守护程序)来查询 IMAP 服务器是否有新邮件,并在新邮件到达时通知客户端。而且我有数千个电子邮件帐户,所以我想知道如何高效轻松地完成这项工作。

据我了解,我知道两种可能的解决方案。

  • 一个一个地查询邮箱账号,就是'poll'风格
  • 使用 IMAP 空闲扩展和事件驱动 I/O (epoll)参考

我想知道这两种解决方案的优缺点。

我也想知道是否有任何库(C、C++、PHP、Python)可以帮助我做这样的事情。或者我怎么能自己做到这一点。

还是第三种解决方案?

4

2 回答 2

2

IMAP IDLE 的优点是减少了开销并(可能)提高了响应能力。

轮询的优点是所有服务器都支持它,而并非所有服务器都支持 IDLE。

至于库,@Max 指出了 Python 中的 imaplib 和 imaplib2。我确定您提到的其他语言也有类似的库。

至于第三个选项,而不是 IMAP 库,您可能会考虑使用context.io

于 2012-10-19T05:01:38.097 回答
0

如果它是您的imap 服务器,可能还有第三个选项。在这种情况下,您可以绕过协议本身并监视服务器数据库本身的更改。那会更有效,因为它省略了整个通信层。

于 2012-07-31T15:12:26.207 回答