Cyrus IMAP Server: Альтернативное именование

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

Опции именования НЕ влияют ни на поведение почтовых ящиков (это описано в  overview.html), ни на то, как ящики храняться в файловой системе. При хранении почтовых ящиков ВСЕГДА используется соглашение netnews  и  внутреннее(стандартное) именование . Когда включена одна (или обе) их приведенных ниже опций, при использовании работе с IMAP-клиентом или Sieve-скриптом, сервер просто "на лету" переводит имена ящиков между внутреннем и внешним именованием.

Такой подход позволяет изменять тип именования во время работы (даже на запущенном сервере) без перенастройки сервера. Это так же означает, что одно почтовое хранилище, при соответствующей настройке, одновременно может поддерживать различные именования.

ЗАМЕЧАНИЕ: Если Вы обновляете существующий сервер использующий timsieved для управления Sieve-скриптами и разрешаете одну из опций именования, после изменения параметров именования Вам нужно будет запустить скрипт "tools/translatesieve ". Этот скрипт переведет имена папок в fileinto-представление.

Альтернативное именование почтовых ящиков

Альтернативное именование посволяет пользовательским ящикам(папкам) выглядеть так, как-будто они находятся на одном уровне с  INBOX, хотя на самом деле являются его дочерними под-ящиками . Например, если пользователь "bovik" имеет персоняльный почтовый ящик(папку в своем INBOX) "work", для пользователя "bovik" это будет выглядеть как просто "work", а не "INBOX.work" как в  стандартном именовании.

Такая конфигурация требует наличия специально префикса к разделяемым папкам (чтобы отличить их от персональных папок и получить доступ к папкам других пользователей). По умолчанию, префиксом для разделяемых папок является "Shared Folders", а префикс для других пользовательских папок - "Other Users". Например, разделяемая папка "foo" в  стандартном именовании будет представлена в альтернативном как "Shared Folders.foo ".

ЗАМЕЧАНИЕ: Все инструменты администрирования сервера, вкличая утилиту cyradm, всегда используют  внутреннее именование.

Настройка альтернативного именования

Для использования альтернативного именования включите опцию  altnamespace в файле  /etc/imapd.conf. Префиксы по-умолчанию для разделяемых и других пользовательских папок можно изменить с помощью опций  sharedrefix и userprefix соответственно.

Соглашение об иерархии UNIX

Соглашение об иерархии UNIX использует традиционный для UNIX символ-разделитель - "/" для разграничения иерархии почтовых ящиков, вместо характерного для netnews - ".". Например, если пользователь "bovik" имеет персональный ящик "work ", то для "bovik"  при  стандартном именовании он будет виден как "INBOX/work".

Когда используется соглашение об иерархии UNIX, символ "." МОЖЕТ быть использован в имени ящика, включая имена пользователей. Для поддержки обратного перевода из  внутреннего именования, перед тем, как данные будут сохранены на диске, все символы "." заменяются специальным вспомогательным символом (в данный момент используется символ "^"). Например, если пользователь "elmer.fudd" имеет персональный ящик "rabbit.holes", он будет сохранен с использованием  внутреннего именования  как "user.elmer^fud.rabbit^holes". Важно помнить об этой особенности если/когда Вы соберетесь вернуться к использованию соглашения об иерархии  netnews .

Настройка соглашения об иерархии UNIX

Для использования разделителя UNIX-иерархии, включите опцию  unixhierarchysep в файле  /etc/imapd.conf.


© Andrey Domas

Return to the Cyrus IMAP Server Home Page