IMAP:在Exchange服务器上按UID范围搜索似乎已被破坏

时间:2016-01-10 14:38:41

标签: exchange-server imap

我使用邮件UID值将IMAP邮箱与我的应用程序同步。邮件服务器是Microsoft Exchange Server 2013.
根据IMAP规范,UID号码应严格按升序排列。但是,有时我发现一系列UID值的搜索结果会返回一个超出指定范围的数字。

=> 'A8 UID SEARCH UID 126095:*'
<= '* SEARCH 126026'
<= 'A8 OK SEARCH completed.

对我来说这看起来像个错误。有没有人遇到过这个问题,有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:3)

如果126026是邮箱中最高的UID,则该结果是合法的。您可以使用任何IMAP服务器进行尝试。将一条消息放入新的空邮箱,然后运行executeBatch()a uid search uid 999999:*a uid search uid 2:1。关键是1:2与2:1相同; UID参数是集合。

当新邮件添加到邮箱时,服务器必须按严格升序分配 UID。客户可以按任何顺序随意引用消息。 (请注意,服务器可能会按照与客户端命令不同的顺序返回消息。)