РД 45.134-2000, часть 4

Реализации должны кодировать бинарные данные в текстовую форму, такую как BASE64, перед выполнением передачи. Строка, включающая символы CTL, также может считаться бинарной.

3.2. Атрибуты почтовых сообщений

3.2.1. Уникальный номер почтового сообщения (UID), порядковый номер почтового сообщения и идентификатор валидности

Длина уникального идентификатора должна составлять 32 бита.

Длина идентификатора валидности должна составлять 32 бита.

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

При удалении почтового ящика и создании почтового ящика с таким же именем, идентификатор валидности нового почтового ящика должен быть отличным от предыдущего.

Два соседних порядковых номера сообщения должны отличаться точно на 1. Порядковые номера сообщений могут изменяться в течение сессии.

3.2.2. Флаги почтового сообщения


Должны быть реализованы флаги:

\Seen

\Answered

\Flagged

\Deleted

\Draft

\Recent

Могут быть реализованы дополнительные флаги.

3 .3. Команды


Сообщения, направляемые от клиента серверу, называются командами.

Формат команд приведен в п.5.

Список команд с описанием назначения приведен в табл.1.

Таблица 1

Список команд.


Команда

CAPABILITY

Аргументы

-

Описание

Запрашивает список возможностей, поддерживаемых сервером. Сервер должен ответить единственным ответом CAPABILIT Y без тега с указанием "IMAP4rev1", в качестве одной из возможностей в списке, а затем ответом OK с тегом. Выдаваемый список не должен зависеть от состояния или клиента.

Возможные ответы без тега

Обязательный ответ без тега: CAPABILITY

Возможные ответы с тегом

OK - команда выполнена

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Любое состояние



Команда

NOOP

Аргументы

-

Описание

Нет операции.

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Любое состояние



Команда

LOGOUT

Аргументы

-

Описание

Команда информирует сервер, что клиент хочет закрыть соединение.

Возможные ответы без тега

Обязательный ответ без тега: BYE

Возможные ответы с тегом

OK - команда выполнена

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Любое состояние





Команда

AUTHENTICATE < am>

Аргументы

am - название механизма идентификации

Описание

По этой команде сервер начинает процесс идентификации в соответствии с указанным механизмом по RFC 1731 [6] . Сервер может также согласовать механизм дополнительной защиты для последующих взаимодействий протокола. Если механизм идентификации не поддерживается, сервер должен ответить NO и отклонить команду. При успешной идентификации выдается сообщение OK, и сервер переходит в состояние Authenticated.

Возможные ответы без тега

Могут быть запрошены данные продолжения

Возможные ответы с тегом

OK - идентификация выполнена

NO - идентификация не выполнена, механизм идентификации не поддерживается

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Not-Authenticated



Команда

LOGIN < user> < pass>

Аргументы

user - идентификатор клиента

pass – пароль

Описание

Идентификация клиента и пересылка серверу незакодированного текстового пароля.

Возможные ответы без тега


Возможные ответы с тегом

OK - идентификация выполнена, состояние authenticated

NO - идентификация не выполнена

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Not-Authenticated

Команда

SELECT < mn>

Аргументы

mn - имя почтового ящика

Описание

Команда выбирает почтовый ящик для доступа к его сообщениям.

Если клиенту разрешено модифицировать почтовый ящик, сервер может в ответе с тегом OK перед текстом указать код ответа "[READ-WRITE]"

Если клиенту не разрешено модифицировать почтовый ящик, сервер должен в ответе с тегом OK перед текстом указать код ответа "[READ-ONLY]"

Возможные ответы без тега

Обязательные ответы без тега: FLAGS, EXISTS, RECENT

Необязательные ответы ОК без тега: UNSEEN, PERMANENTFLAGS

Возможные ответы с тегом

OK - выбор выполнен, состояние selected

NO - ошибка выбора, состояние authenticated

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected




Команда

EXAMINE < mn>

Аргументы

mn - имя почтового ящика

Описание

Команда EXAMINE является идентичной команде SELECT. Выбранный почтовый ящик всегда открывается без разрешения модификации (READ-ONLY).

Возможные ответы без тега

Обязательные: FLAGS, EXISTS, RECENT

Необязательные ответы OK: UNSEEN, PERMANENTFLAGS

Возможные ответы с тегом

OK - команда выполнена, состояние selected

NO - ошибка выбора, состояние authenticated

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected



Команда

CREATE < mn>

Аргументы

mn - имя почтового ящика

Описание

Создание почтового ящика с заданным именем.

В случае, если клиент намерен создать иерархический почтовый ящик, после имени почтового ящика может следовать символ отделения уровня иерархии. Сервер, для которого не требуется подобный символ, должен его игнорировать.

Если символ отделения уровня иерархии появляется внутри имени почтового ящика, сервер может создавать почтовые ящики (несколько почтовых ящиков) таким образом, чтобы их структура соответствовала заданному имени. Например, при попытке создать ящик "foo/bar/zap" (символ /" является отделителем иерархии) сервер создает иерархические ящики foo/, foo/bar и foo/bar/zap.

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

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка создания

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected








Команда

DELETE < mn>

Аргументы

mn - имя почтового ящика

Описание

Удаление почтового ящика.

Команда не должна удалять ящики низших иерархических имен при удалении ящика высшего иерархического имени.

(Удаление foo не должно удалить foo/bar) .

Является ошибкой попытка удаления ящика высших иерархических имен, клиентом почтового ящика имеющего низшие иерархические имена и атрибут /Noselect.

Команда может удалять ящики высшего иерархического имени без атрибута /Noselect. При этом все сообщения из данного почтового ящика удаляются и устанавливается атрибут /Noselect.

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка удаления

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected




Команда

RENAME < exmn> < newmn>

Аргументы

exmn – существующее имя с почтового ящика

newmn - новое имя почтового ящика

Описание

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

При переименовании почтового ящика INBOX должен быть создан почтовый ящик с новым именем и в него перенесены все сообщения из ящика INBOX, а ящик INBOX должен после выполнения команды остаться пустым. При поддержке сервером низших иерархических имен в ящике INBOX после команды переименования INBOX низшие иерархические имена должны оставаться неизмененными.

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка удаления

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected








Команда

SUBSCRIBE < mb>

Аргументы

mb - почтовый ящик

Описание

Добавляет заданное имя почтового ящика к набору активных (подписанных) почтовых ящиков.

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

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка выполнения команды

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected






Команда

UNSUBSCRIBE < mb>

Аргументы

mb - почтовый ящик

Описание

Удаляет заданное имя почтового ящика из списка активных (подписанных) почтовых ящиков.

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка выполнения команды

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected


Команда

LIST < rn> < mn>

Аргументы

rn - ссылочное имя

mn - шаблон имени почтового ящика

Описание

Возвращает подмножество имен полного множества имен, доступных для клиента и удовлетворяющих сочетанию ссылочного имени и шаблона

Почтового ящика.

Пустое ссылочное имя показывает, что необходимо взять имя почтового ящика, выбранного командой SELECT. Возвращаемые имена почтовых ящиков должны удовлетворять шаблону.

При пустом шаблоне имени почтового ящика должно быть возвращено корневое имя от ссылочного име- ни.

Возможные ответы без тега

LIST

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка выполнения команды

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected


Команда

LSUB < rn> < mn>

Аргументы

rn - ссылочное имя

mn - шаблон имени почтового ящика

Описание

Возвращает подмножество имен полного множества имен, занесенных в список активных для клиента и удовлетворяющих сочетанию ссылочного имени и шаблона почтового ящика.

Сервер может проверять существование почтовых ящиков, соответствующих возвращаемым именам, и помечать несуществующие ящики флагом \Noselect.

Сервер не должен удалять из возвращаемого списка имена, соответствующие несуществующим почтовым ящикам.

Возможные ответы без тега

LSUB

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка выполнения команды

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected



Команда

STATUS < mn> < data>

Аргументы

mn - имя почтового ящика

data - имена пунктов данных статуса

Описание

Команда статуса запрашивает статус указанного почтового ящика. Она не должна влиять на состояние сообщений в указанном ящике (в частности, не должна сбрасывать флаг \Recent).

Команда позволяет проверить статус почтового ящика, отличного от выбранного командой SELECT.

Имена пунктов данных статуса могут быть:

MESSAGES – количество сообщений в почтовом ящике

RECENT – количество сообщений с выставленным флагом \Recent

UIDNEXT – следующее значение UID, которое будет выделено новому сообщению в данном почтовом ящике.

UIDVALIDITY – значение валидности уникального идентификатора для почтового ящика.

UNSEEN - количество сообщений, в которых не установлен флаг \Seen .

Возможные ответы без тега

STATUS

Возможные ответы с тегом

OK – команда выполнена

NO – ошибка выполнения команды

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected



Команда

APPEND < mn> [< flags> ] [< date> /< time> ] < ml>

Аргументы

mn - имя почтового ящика

flags - список в скобках флагов

date - строка дата/время

ml - литерал сообщения

Описание

Команда добавляет аргумент ml в качестве нового сообщения в конец обозначенного почтового ящика. Аргумент ml должен иметь формат, согласно RFC 822 [2] . В сообщении разрешены восьмибитные символы. Если сервер не может правильно сохранить восьмибитные символы, то в сервере должно быть осуществлено преобразование восьмибитных символов в семибитный код, соответствующий MIME-IMB, а также выполнено и обратное преобразование.

Список флагов результирующего сообщения должен соответствовать аргументу flags. По умолчанию список флагов результирующего сообщения должен быть пуст.

Если указан аргумент date, внутренняя дата сообщения должна быть установлена согласно указанному значению. По умолчанию устанавливается текущая дата и время.

Частичное добавление в случае возникновения ошибки запрещено.

При отсутствии указанного почтового ящика сервер не должен автоматически его создавать. В этом случае, а также в случае если нет никаких причин, по которым почтовый ящик с указанным именем не может быть создан, сервер должен в ответ с тегом NO включить код ответа [TRYCREATE].


Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка выполнения команды

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Authenticated, Selected



Команда

CHECK

Аргументы

-

Описание

Команда запрашивает контрольную точку текущего почтового ящика.

Если команда не реализована, она должна выполняться подобно NOOP.

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected

Команда

CLOSE

Аргументы

-

Описание

Команда удаляет из текущего выбранного почтового ящика все сообщения, имеющие флаг \Deleted, и переводит сервер в состояние authenticated.

Команда игнорируется без выдачи сообщения об ошибке, если почтовый ящик открыт в режиме READ-ONLY.

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена, состояние authenticated

NO - ошибка закрытия

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected


Команда

EXPUNGE

Аргументы

-

Описание

Команда удаляет из текущего выбранного почтового ящика все сообщения, имеющие флаг \Deleted.

Перед выдачей ответа OK для каждого удаленного сообщения высылается ответ EXPUNGE.

Возможные ответы без тега

EXPUNGE

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка выполнения команды

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected


Команда

SEARCH [< CHARSET> ] < sc>

Аргументы

CHARSET - спецификация набора символов

sc - критерий поиска (несколько критериев)

Описание

Выполняет поиск сообщений, удовлетворяющих критерию поиска. Критерий поиска состоит из одного или более ключей поиска. При наличии нескольких ключей поиска, результат является функцией пересечения (AND) всех сообщений, удовлетворяющих ключам. Ключом поиска является список в скобках ключей поиска.

Сервер может исключить из области поиска части тела сообщения с типами содержимого, отличными от типов TEXT или MESSAGE.

CHARSET характеризует кодовый набор строк, из которых состоит критерий поиска.

Обязательной является поддержка ASCII. Если сервер не поддерживает запрошенный кодовый набор, он должен ответить NO с тегом.

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

Определены следующие ключи:

<message set> - список номеров сообщений

ALL - все сообщения в почтовом ящике

ANSWERED - сообщения с флагом \Answered

BCC <строка> - сообщение, содержащее указанную строку в поле BCC конверта

BEFORE <дата> - сообщения, внутренняя дата которых является более ранней, чем указанная.

BODY <строка> - сообщение, содержащее указанную строку в теле сообщения

CC <строка> - сообщение, содержащее указанную строку в поле BCC конверта

DELETED - сообщения с флагом \Deleted

DRAFT - сообщения с флагом \Draft

FLAGGED - сообщения с флагом \Flagged

FROM <строка> - сообщение, содержащее указанную строку в поле From конверта

HEADER <имя поля> <строка> - сообщение, указанное поле заголовка которого, содержит указанную строку

KEYWORD <флаг> - Сообщения с указанным набором ключевых слов

LARGER <n> - Сообщения с размером по RFC-822 [2] , большим чем n октет

NEW - сообщения с флагом \Recent, но без флага \Seen (= RECENT UNSEEN)

NOT <ключ поиска> = сообщения, не удовлетворяющие указанному ключу поиска

OLD - сообщения без флага \Recent

ON <дата> - сообщения с внутренней датой, входящей в указанный промежуток

OR <ключ поиска1> <ключ поиска1> - сообщения, удовлетворяющие любому ключу поиска

RECENT - сообщения с флагом \Recent

SEEN - сообщения с флагом \Seen

SENTBEFORE <дата> - сообщения с датой заголовка более ранней, чем указанная

SENTON <дата> - сообщения с датой заголовка, соответствующей указанной

SENTSINCE <дата> - сообщения с датой заголовка, более поздней или соответствующей указанной

SINCE <дата> - сообщения с внутренней датой, более поздней или соответствующей указанной

SMALLER <n> - сообщения с размером по RFC-822 [2] , меньшим чем n октет

SUBJECT <строка> - сообщение, содержащее указанную строку в поле Subject конверта

TEXT <строка> - сообщение, содержащее указанную строку в заголовке или теле сообщения

TO <строка> - сообщение, содержащее указанную строку в поле TO конверта

UID <message set> - сообщение c UID, равным указанному

UNANSWERED - сообщения без флага \Answered

UNDELETED - сообщения без флага \Deleted

UNDRAFT - сообщения без флага \Draft

UNFLAGGED - сообщения без флага \Flagged

UNKEYWORD <флаг> - сообщения, в которых нет указанных ключевых слов

UNSEEN - сообщения без флага \Seen

Возможные ответы без тега

SEARCH

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка выполнения команды

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected


Команда

FETCH < ms> < items>

Аргументы

ms - набор сообщений

items - имена элементов данных сообщеня

Описание

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

Могут быть реализованы элементы:

ALL - эквивалентно набору FLAGS INTERNALDATE RFC822.SIZE ENVELOPE

BODY - нерасширяемая форма BODYSTRUCTURE

BODY [<секция>]<<частичный>> - текст отдельной секции тела сообщения. Секция - набор определителей части. Определитель части – номер части или одно из следующих значений: HEADER, HEADER.FIELDS, HEADER.FIELDS.NOT, MIME, TEXT. Пустой аргумент секции ссылается на сообщение целиком, включая заголовок. Аргумент <частичный> позволяет выбрать произвольный отрезок выбранной части с точностью до октета. Если <частичный> указывает вне текста, возвращается пустая строка. Если указываемый отрезок частично выходит за пределы текста, возвращается накрываемый отрезок текста. При выполнении устанавливается флаг \Seen.

BODY.PEEK [<секция>]<<частичный>> - подобно TEXT, но при выполнении флаг \Seen не устанавливается.

BODYSTRUCTURE - структура сообщения согласно RFC 2045 [8] .

ENVELOPE - Структура конверта сообщения.

FAST - эквивалентно набору FLAGS INTERDATE RFC822.SIZE

FLAGS - флаги, установленные для данного сообщения

FULL - эквивалентно набору FLAGS INTERDATE RFC822.SIZE ENVELOPE BODY

INTERNALDATE - внутренняя дата сообщения

RFC822 - эквивалентно BODY[], хотя синтаксис возвращаемого ответа отличен

RFC822.HEADER - эквивалентно BODY.PEEK[HEADER], хотя синтаксис возвращаемого ответа отличен

RFC822.SIZE - размер сообщения по RFC 822 [2]

RFC822.TEXT - эквивалентно BODY[TEXT], хотя синтаксис возвращаемого ответа отличен

UID – UID сообщения

Возможные ответы без тега

FETCH

Возможные ответы с тегом

OK – команда выполнена

NO – ошибка выполнения команды

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected


Команда

STORE < ms> < md> < value>

Аргументы

ms - набор сообщений

md - имя элемента данных почтового сообщения

value - значение элемента данных почтового сообщения

Описание

Изменяет данные, связанные с сообщением в почтовом ящике. Обновленные значения данных возвращаются ответом FETCH. Если после имени элемента данных стоит слово .SILENT, ответ без тега FETCH не должен высылаться сервером. Должны быть реализованы аргументы:

FLAGS < список флагов> - Удаляет старый список флагов сообщения и создает новый список флагов

FLAGS.SILENT < список флагов>

+FLAGS < список флагов> - добавляет указанные флаги к существующему списку

+FLAGS.SILENT < список флагов>

-FLAGS < список флагов> - Удаляет указанные флаги из списка флагов сообщения

-FLAGS.SILENT < список флагов>

Возможные ответы без тега

FETCH

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка закрытия

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected


Команда

COPY < ms> < mn>

Аргументы

Ms - набор сообщений

Mn - имя почтового ящика

Описание

Команда копирует определенное сообщение в конец указанного ящика адресата. Флаги и внутренняя дата должны быть сохранены.

Если указанного почтового ящика не существует, сервер может создать почтовый ящик автоматически. Если сервер не создал почтовый ящик, но может создать ящик с таким именем, он должен отправить ответ NO с тегом и кодом ответа [TRYCREATE].

В случае неудачного выполнения команды, сервер должен вернуть почтовый ящик в состояние, идентичное тому, что было до выполнения команды.

Возможные ответы без тега

-

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка закрытия

BAD - неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected


Команда

UID < cn> < ca>

Аргументы

cn - имя команды

ca - аргументы команды

Описание

Команда UID имеет две формы.

В первой форме первым аргументом является команда COPY, FETCH или STORE, а вторым аргументом - аргументы указанной команды. Однако в аргументе набора сообщений нужно указывать не последовательные номера сообщений, а UID.

Во второй форме команда UID отрабатывает команду SEARCH с соответствующими аргументами. Аргументы интерпретируются так же, как и в команде SEARCH, однако номера, возвращаемые в ответе SEARCH, будут UID вместо порядковых номеров сообщений.

Возможные ответы без тега

FETCH, SEARCH

Возможные ответы с тегом

OK - команда выполнена

NO - ошибка закрытия

BAD – неизвестная команда или ошибка в аргументах

Разрешенные состояния

Selected


3.4. Ответы


Сообщения, направляемые от сервера клиенту, называются ответами.

Существуют три формы ответов сервера:

ответы статуса

данные сервера

запрос продолжения команды

Ответы статуса могут быть:

с тегом

без тега

Ответы с тегом показывают результат выполнения команды клиента: статус OK, NO, BAD.

В ответе без тега на месте тега находится символ "*". Ответами статуса без тега могут быть ответ приветствия или ответы статуса, не показывающие результаты выполнения какой-либо команды.

В запросах продолжения команды вместо тега находится символ "+". Эти запросы посылаются клиенту, чтобы показать, что неполная команда принята, и сервер готов принять остаток команды.

3.4.1. Ответы статуса


Ответами статуса являются: OK, BAD, NO, PREAUTH, BYE.

Ответы OK, BAD, NO могут быть с тегом и без тега.

Ответы PREAUTH и BYE всегда с тегом.

Ответы статуса могут включать код ответа. Код ответа состоит из данных внутри квадратных скобок в форме атома. Возможны аргументы, отделенные пробелом.

Список кодов ответа приведен в табл. 2. Все дополнительные коды ответов, реализованные в сервере, должны начинаться с буквы X.


Таблица 2

Список кодов ответа.


Код ответа:

Описание

ALERT

Текст, предназначенный для чтения человеком-клиентом, составленный таким образом, чтобы привлечь внимание клиента.

NEWNAME

Ошибка выполнения команд SELECT или EXAMINE в связи с тем, что почтовый ящик с указанным именем больше не существует, так как был переименован.

PARSE

Текст, предназначенный для чтения человеком-клиентом и показывающий ошибку разбора заголовка RFC822 [2] или заголовка MIME-IMB сообщения.

PERMANENTFLAGS

За данным кодом следует список в скобках, содержащий список флагов, которые клиент может изменить. Список PERMANENTFLAGS может включать в себя специальный флаг \*, говорящий о возможности создания новых ключевых слов путем попыток сохранить данные флаги в почтовом ящике.

READ-ONLY

Почтовый ящик выбран в режиме только для чтения.

READ-WRITE

Почтовый ящик выбран как доступный для изменений.

TRYCREATE

Ошибка выполнения команд APPEND или COPY в связи с тем, что указанный почтовый ящик назначения не существует.

UIDVALIDITY

За данным кодом следует десятичное число, указывающее значение валидности UID.

UNSEEN

За данным кодом следует десятичное число, показывающее номер первого сообщения без флага \Seen.


В табл. 3 приведен список ответов статуса. Все сообщения статуса должны содержать текст, предназначенный для чтения человеком-клиентом и содержащий информацию, соответствующую назначению сообщения.


Таблица 3

Список ответов статуса.


Ответ:

Описание

OK

Указывает на информационное сообщение, поступившее от сервера. Если присутствует тег, ответ указывает на успешное выполнение соответствующей команды.

Ответ без тега может использоваться в качестве приветствия.

NO

Указывает на сообщение об ошибке работы сервера. Если присутствует тег, ответ указывает на ошибку выполнения соответствующей команды. Сообщение без тега является предупреждением и не указывает на то, что команда не выполнена.

BAD

Указывает на сообщение ошибки, поступившее от сервера. . Если присутствует тег, ответ указывает на ошибку протокольного уровня в команде клиента, на которую указывает тег.

PREAUTH

Может использоваться в качестве приветствия. Указывает на установление преидентифицированного соединения.

BYE

Указывает на процесс закрытия соединения. Посылается сервером в случаях:

- нормального закрытия соединения по команде LOGOUT

- в случае внезапного закрытия соединения сервером (например, в случае останова сервера)

- в случае разрыва соединения по таймеру неактивности

- при установлении соединения в качестве приветствия, показывающего, что сервер не желает установить соединение в клиентом.

Закрыть

Строительный каталог