现在,我想编写一个程序(守护进程)来查询IMAP服务器以获取新邮件,并在新邮件到达时通知客户端。我有成千上万的电子邮件帐户,所以我想知道如何高效,轻松地完成这项工作。
据我了解,我知道两种可能的解决方案。
我想知道这两种解决方案的优缺点。
我也想知道是否有任何库(C,C ++,PHP,Python)可以帮助我做这样的事情。或者我怎么能自己做这件事。
还是第三种解决方案?
答案 0 :(得分:2)
IMAP IDLE的优势在于降低了开销,并且(可能)提高了响应速度。
轮询的优势在于它所有服务器都支持它,而所有服务器都不支持IDLE。
至于库,@ Max指出Python中的imaplib和imaplib2。我确定你提到的其他语言都有类似的库。
对于第三个选项,您可以考虑使用context.io而不是IMAP库。
答案 1 :(得分:0)
如果它是你的 imap服务器,可能还有第三个选项。在这种情况下,您可以绕过协议本身并监视服务器数据库本身的更改。这样可以更有效率,因为它省略了整个通信层。