Телекоммуникационные технологии. Том 1

Команда RENAME


Аргументы: имя существующего почтового ящика, имя нового почтового ящика.

Отклики: эта команда не требует каких-либо специфических откликов.

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



Команда RENAME изменяет имя почтового ящика. Маркированный отклик OK присылается лишь в случае, когда почтовый ящик переименован. Считается ошибкой попытка переименовать не существующий почтовый ящик или присвоить ящику уже имеющееся имя. Любая ошибка при переименовании вызовет маркированный отклик NO.

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

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

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

Примеры: C: A682 LIST "" *

S: * LIST () "/" blurdybloop

S: * LIST (\Noselect) "/" foo

S: * LIST () "/" foo/bar

S: A682 OK LIST completed

C: A683 RENAME blurdybloop sarasoop

S: A683 OK RENAME completed

C: A684 RENAME foo zowie

S: A684 OK RENAME Completed

C: A685 LIST "" *

S: * LIST () "/" sarasoop

S: * LIST (\Noselect) "/" zowie

S: * LIST () "/" zowie/bar

S: A685 OK LIST completed

C: Z432 LIST "" *

S: * LIST () "." INBOX

S: * LIST () "." INBOX.bar

S: Z432 OK LIST completed

C: Z433 RENAME INBOX old-mail

S: Z433 OK RENAME completed

C: Z434 LIST "" *

S: * LIST () "." INBOX

S: * LIST () "." INBOX.bar

S: * LIST () "." old-mail

S: Z434 OK LIST completed



Содержание раздела