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

6.3.4. Команда DELETE

Аргументы:имя почтового ящика
Отклик:для этой команды не существует специфических откликов
Результат:OK — успешное удаление
NO — невозможно удалить почтовый ящик с указанным именем
BAD — команда не поддерживается или некорректны аргументы

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

Недопустимо с помощью команды DELETE удалять внутренние уровни иерархии имен. Например, почтовый ящик foo является внутренним в иерархии foo.bar (предполагается, что "." служит разделителем уровней), удаление foo недопустимо следует удалять foo.bar. Ошибка произойдет и при попытке удаления имени, имеющего подчиненные уровни и атрибут \Noselect (см. описание отклика LIST). Допускается удалять имена с подчиненными уровнями, которые не имеют атрибута \Noselect. В таких случаях все сообщения из почтового ящика, а имя приобретает атрибут \Noselect. Максимальное значение уникального идентификатора для удаляемого ящика должно сохраняться, чтобы при создании нового ящика с этим именем не возникало повторного использования идентификаторов, если для нового ящика не задается другое значение уникального идентификатора корректности (см. описание команды UID).

Пример:  C: A682 LIST "" *
         S: * LIST () "/" blurdybloop
         S: * LIST (\Noselect) "/" foo
         S: * LIST () "/" foo/bar
         S: A682 OK LIST completed
         C: A683 DELETE blurdybloop
         S: A683 OK DELETE completed
         C: A684 DELETE foo
         S: A684 NO Name "foo" has inferior hierarchical names
         C: A685 DELETE foo/bar
         S: A685 OK DELETE Completed
         C: A686 LIST "" *
         S: * LIST (\Noselect) "/" foo
         S: A686 OK LIST completed
         C: A687 DELETE foo
         S: A687 OK DELETE Completed


         C: A82 LIST "" *
         S: * LIST () "." blurdybloop
         S: * LIST () "." foo
         S: * LIST () "." foo.bar
         S: A82 OK LIST completed
         C: A83 DELETE blurdybloop
         S: A83 OK DELETE completed
         C: A84 DELETE foo
         S: A84 OK DELETE Completed
         C: A85 LIST "" *
         S: * LIST () "." foo.bar
         S: A85 OK LIST completed
         C: A86 LIST "" %
         S: * LIST (\Noselect) "." foo
         S: A86 OK LIST completed
2007 - 2017 © Русские переводы RFC, IETF, ISOC.