2016-01-10 6 views
0

Я использую значения UID сообщения для синхронизации почтового ящика IMAP с моим приложением. Почтовым сервером является Microsoft Exchange Server 2013.
Согласно спецификации IMAP, номера UID должны быть строго восходящего. Однако порой я обнаружил, что результат поиска для диапазона значений UID возвращает число за пределами указанного диапазона.IMAP: поиск по диапазону UID на сервере Exchange кажется сломанным

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

Это похоже на ошибку. Кто-нибудь столкнулся с этой проблемой и есть ли способ разрешить это?

ответ

2

Этот результат является законным при условии, что 126026 является наивысшим UID в почтовом ящике. Вы можете попробовать его с любого сервера IMAP. Поместите одно сообщение в новый пустой почтовый ящик, затем запустите a uid search uid 999999:*, a uid search uid 2:1 или a uid search uid 1:2. Ключ состоит в том, что 1: 2 совпадает с 2: 1; Параметрами UID являются множества.

Требуется сервер присвоить UIDs в строго возрастающем порядке по мере добавления новых сообщений в почтовый ящик. Клиенты могут свободно отправлять ссылку сообщений в любом порядке. (Обратите внимание, что серверы могут возвращать сообщения в порядке, отличном от того, что указано в команде клиента.)

Смежные вопросы