Аргументы: имя,
имя почтового ящика может содержать символы подмены (wildcard).
Отклики: немаркированные отклики LIST.
Результат: | OK | команда list выполнена; |
NO | команда не прошла: не возможно выполнение list для данного образца или имени; | |
BAD | команда неизвестна или неверен аргумент. |
Команда LIST возвращает субнабор имен из полного набора, доступного клиенту. Присылается нуль или более немаркированных откликов LIST, содержащих атрибуты имен, иерархические разделители и имена.
Команда LIST должна возвращать данные быстро без существенных задержек. Например, она не должна тратить время на выяснение статуса (\Marked или \Unmarked) или на выполнение другой трудоемкой обработки, ведь если каждое имя требует одной секунды, то обработка списка из 1200 имен займет 20 минут.
Аргумент, содержащий пустую строку образца имени (""), указывает, что имя почтового ящика интерпретируется также, как это делает команда SELECT. Присланные имена почтовых ящиков должны соответствовать полученному шаблону имени. Непустой аргумент является шаблоном имени почтового ящика или уровеня иерархии и указывает на контекст, в котором интерпретируется имя. Пустой аргумент имени ("") представляет собой специальный запрос, требующий присылки иерархического разделителя и корневого имени. Значение, возвращаемое в качестве корневого имени, может быть нулем, если шаблону не соответствует никакая иерархия. Иерархический разделитель присылается во всех случаях. Это позволяет клиенту получить иерархический разделитель даже в случае, когда нет почтовых ящиков, соответствующих данному имени.
Шаблон и имя почтового ящика интерпретируются по-разному в зависимости от реализации. В каноническом варианте анализ происходит слева направо.
Любая часть аргумента шаблона, которая включена в интерпретированную форму, должна предшествовать интерпретированной форме. Она должна иметь тот же формат, что и аргумент шаблона имени. Это правило позволяет клиенту определить, соответствует ли присланное имя почтового ящика контексту шаблона.
Без этого правила, клиент должен был бы знать семантику имен сервера.
Ниже приведены некоторые примеры того, как могут интерпретироваться образцы и имена почтовых ящиков на серверах базирующихся на UNIX:
Шаблон | Имя почтового ящика | Интерпретация |
~smith/Mail/ | foo.* | ~smith/Mail/foo.* |
Archive/ | % | archive/% |
#news. | comp.mail.* | #news.comp.mail.* |
~smith/Mail/ | /usr/doc/foo | /usr/doc/foo |
archive/ | ~fred/Mail/* | ~fred/Mail/* |