RFC: 2060
Оригинал: Internet Message Access Protocol v.4 rev.1
Другие версии: RFC 1730, RFC 3501
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Николай Малых

6.4.8. Команда UID

Аргументы:имя команды, аргументы команды
Отклик:непомеченный отклик FETCH, SEARCH
Результат:OK — успешное завершение
NO — ошибка
BAD — команда не поддерживается или некорректны аргументы

Команда UID имеет две формы. В первом варианте используются команды COPY, FETCH, STORE и аргументы соответствующей команды. Однако в качестве номеров при указании набора сообщений используются уникальные идентификаторы сообщений, а не их порядковые номера. Во второй форме команда UID использует команду SEARCH и ее набор аргументов. Интерпретация аргументов такая же, как для команды SEARCH, однако вместо порядковых номеров сообщений возвращаются их уникальные идентификаторы (UID). Например, команда UID SEARCH 1:100 UID 443:557 будет возвращать уникальные идентификаторы, соответствующие пересечению сообщений с порядковыми номерами от 1 до 100 и UID в диапазоне 443:557.

Допустимо включение диапазона сообщений, однако не гарантируется, что уникальные идентификаторы для диапазона образуют непрерывную последовательность. Несуществующие уникальные идентификаторы в заданном диапазоне будут игнорироваться без генерации сообщений об ошибках.

Число после "*" в непомеченном отклике FETCH всегда указывает порядковый номер сообщения, а не его уникальный идентификатор (даже в откликах на команду UID). Однако серверы ДОЛЖНЫ явно включать значения UID как часть откликов FETCH на команду UID, независимо от указания UID в качестве элемента данных для FETCH.

Пример:  C: A999 UID FETCH 4827313:4828442 FLAGS
         S: * 23 FETCH (FLAGS (\Seen) UID 4827313)
         S: * 24 FETCH (FLAGS (\Seen) UID 4827943)
         S: * 25 FETCH (FLAGS (\Seen) UID 4828442)
         S: A999 UID FETCH completed
2007 - 2017 © Русские переводы RFC, IETF, ISOC.