Пакет предоставляет сервисы локальной доставки почты (MDA), а так же POP3(S), IMAP(S) и NNTP(S) сервисы. Пакет функционально пересекается с пакетами uw-imap и courier-imap. Но имеет от них некоторые отличия: - свой формал maildir (поэтому возможно применение только родного MDA) - почтовые пользователи в системе не создаются, про них знает только cyrus-imapd, хотя есть возможность работы и для системных пользователей, но такой режим не рекомендуется - возможность создания изолированных виртуальных доменов с назначением в каждый домен своего администраторов, полномочия которых ограничиваются только определенным доменом - развитый механизм ACL как для пользовательских папок, так и для shared-folders - возможность представления определенных (по префиксу) shared-folders в виде usenet groups, а равно представление ньюсов в виде папок (есть режим работы в качестве простого nntp-прокси) - два метода получения почты от MTA: серез вызов программы-доставщика deliver и через протокол LMTP (возможны для применения либо через unix-sockets либо через TCP, либо оба варианта сразу) - при использовании локальной доставки через протокол LMTP поверх TCP можно создавать кластерны конфигурации с несколькими SMTP-серверам и одним хранилищем почты. - наличие проксирующих серверов позволяет создавать конфигурации с несколькими frond-end'ами и одним хранилищем почты, таким образом, чтобы балансировать нагрузку. - имеется встроенная поддержка SIEVE, что позволяет осуществлять обработку приходящей почты на сервере без участия клиента, автоматически (фильтрация спама, стортировка почты по папкам, пересылка на другие ящики и тд). Для прописи SIEVE-правил поднимается специальный сервис - sieve(tcp-порт 2000), что позволяет клиентам, при достаточной квалификации, самостоятельно формировать правила, или же использовать для этого специальные front-end'ы. Несколько замечаний по использованию cyrus-imapd: - при использовании механизма sasldb, необходимо добавить пользователя 'cyrus' в группу 'sasl', чтобы сервер мог считывать /etc/sasl2/sasldb2 - при использовании в качестве MTA Postfix, необходимо прописать в /etc/postfix/main.cf 'mailbox_transport = lmtp:unix:/public/lmtp' или 'mailbox_transport = lmtp:inet:cyrus_hostn' - при использовании в качестве MTA Postfix и при необходимости осуществлять доставку сообщений от локальных служб напрямую через /usr/lib/cyrus/deliver, нужно разрешить доступ deliver'у к каталогу /var/spool/postfix/public/ посредством 'control cyrus-imapd postdrop'. В результате пользователи (а равно и локальные системы, выполняющиеся от оных пользователей), могут осуществлять доставку сообщений через вызов /usr/lib/cyrus/deliver - Cyrus Imap по дефолту анонсирует клиенту поддержку механизмов DIGEST-MD5 и CRAM-MD5. Если клиент пытается использовать эти механизмы, libsasl2 пытается искать пользователя в /etc/sasl2/sasldb2, даже если cyrus-imap настроен на использование saslauthd. В этом случае в логе можно обнаружить записи вида 'CRAM-MD5 [SASL(-13): user not found: no secret in database]'. Т.к. saslauthd используется весьма часто, список используемых механизмов ограничен с помощью недокументированной (в man-странице) опции sasl_mech_list в imapd.conf