我尝试过IMAP闲置方式,大部分时间都有效,但是:
我知道这可能主要应该归咎于电子邮件ISP,但是有更好的方法可以及时获得可靠的电子邮件通知。
或者我只是用硬路,长循环检查电子邮件?
答案 0 :(得分:2)
IDLE没有告诉你有一条新消息,它告诉你发生了什么事。它可能是一条新消息,也可能是十条,可能是一条消息被删除,或者十条,或者可能是另一条消息。它取决于你检查。 (如果您想测试代码处理代码的方式,可以使用UID COPY
和EXPUNGE
进行大量更改。)
关闭连接也是您需要解决的问题。 IMAP服务器可以关闭连接(出于好的或坏的原因),但通常由属于客户的NAT中间件完成。只有客户端可以重新连接以解决NAT问题,解决NAT问题也解决了服务器问题,这是一种副作用。