gpt4 book ai didi

IMAP 空闲超时

转载 作者:行者123 更新时间:2023-12-04 01:37:23 25 4
gpt4 key购买 nike

假设我正在使用 IMAP IDLE 来监视邮件文件夹中的更改。

IMAP 规范说空闲连接最多只能保持 30 分钟,但建议选择较低的分钟数 - 例如 20 分钟,然后取消空闲并重新启动。

我想知道如果邮件内容在空闲取消和创建新空闲之间发生变化会发生什么。电子邮件可能会被遗漏。鉴于 RECENT 有点模糊,这可能导致在旧空闲结束之前获取消息列表,并开始新空闲。

但这与每 20 分钟轮询一次几乎相同,并且失去了空闲的一些好处。

或者,可以在终止即将到期的 session 之前启动新的空闲 session 。

但无论如何,我认为这个问题已经解决了,所以我在这里征求建议。

谢谢,

保罗

最佳答案

如您所知,IMAP IDLE 命令 ( RFC 2177 ) 的目的是让服务器实时向客户端传输状态更新。在此上下文中,状态更新意味着未标记的 IMAP 服务器响应,例如在新消息到达、消息状态更新或消息被删除时发送的 EXISTS、RECENT、FETCH 或 EXPUNGE。

但是,这些 IMAP 状态更新可以由任何 IMAP 命令返回,而不仅仅是 IDLE 命令——例如,NOOP 命令(参见 RFC 3501 第 6.1.2 节)也可用于轮询服务器更新(它早于空闲命令)。 IDLE 只会让更有效地获取这些更新成为可能——如果你不使用 IDLE 命令,当客户端执行另一个命令时(或者甚至在某些情况下没有命令正在进行时),服务器更新将简单地由服务器发送——见 RFC 3501有关详细信息,请参阅第 5.2 和 5.3 节。

这意味着如果在取消空闲空闲命令和新空闲命令之间更改消息,状态更新不应该丢失,就像如果您从未使用过空闲状态一样,它们不会丢失(并且每隔几秒钟使用一次 NOOP,例如) - 它们应该在新的 IDLE 命令启动后简单地发送。

关于IMAP 空闲超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2513194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com