6.3.3. Команда CREATE
Аргументы: | имя почтового ящика |
Отклик: | для этой команды не существует специфических откликов |
Результат: | OK — успешное завершение NO — невозможно создать почтовый ящик с указанным именем BAD — команда не поддерживается или некорректны аргументы |
Команда CREATE создает почтовый ящик с заданным именем. Отклик OK возвращается только при успешном создании почтового ящика. При попытке создать почтовый ящик INBOX или с другим уже используемым именем возникает ошибка. В результате любой ошибки будет возвращаться помеченный отклик NO.
Если имя почтового ящика имеет суффикс с символом-разделителем уровней иерархии (сервер возвращает его по команде LIST), это означает попытку клиента создать почтовый ящик в иерархии имен. Реализации серверов, не требующие такого объявления, ДОЛЖНЫ игнорировать его.
При наличии в имени разделителя уровней иерархии, серверу следует создавать все вышележащие уровни иерархии, которые требуются для успешного завершения команды CREATE. Иными словами, при создании имени foo/bar/zap на сервере, использующем символ "/" в качестве разделителя, следует создать уровни foo/ и foo/bar/, если их еще нет. Если создается почтовый ящик с именем ранее удаленного ящика, его уникальные идентификаторы ДОЛЖНЫ быть больше уникальных идентификаторов, используемых в прежней инкарнации почтового ящика с таким именем, если новый ящик не имеет другого значения уникального идентификатора корректности (см. описание команды UID).
Пример: C: A003 CREATE owatagusiam/ S: A003 OK CREATE completed C: A004 CREATE owatagusiam/blurdybloop S: A004 OK CREATE completed
Отметим, что интерпретация приведенного примера зависит от того, возвращает ли сервер символ "/" по команде LIST. Если "/" служит разделителем, создается новый уровень с именем blurdybloop в иерархии owatagusiam. В противном случае создаются два почтовых ящика на одном уровне иерархии.