Cyrus IMAPD – сервер, обеспечивающий доступ к почте по протоколам IMAP и POP3.
Почта не привязана к локальным пользователям системы. Почтовые ящики хранятся в своем формате в отдельном каталоге, пароли могут проверяться различными способами, которые доступны через библиотеку SASL. Можно хранить пароли в базе My SQL, в sasldb или проверять через любые PAM модули. В состав Cyrus IMAPD входят программа для локальной доставки почты.
Внимание Необходимо сменить владельца /etc/imapd.conf на cyrus и отобрать у «прочих» права на чтение
chown cyrus /etc/imapd.conf
chmod o-r /etc/imapd.conf
/etc/imapd.conf
================
configdirectory: /var/lib/imap
#Где хранятся почтовые ящики
partition-default: /var/spool/imap
#Список администраторов, которые могут управлять почтовыми ящиками.
admins: cyradm
allowplaintext: 1
sievedir: /var/lib/imap/sieve
sendmail: /usr/sbin/sendmail
#Не трогаем 8ой бит.
munge8bit: 0
#Все ящики в нижнем регистре. При подключении клиентов регистр преобразуется.
username_tolower: 1
#Дает возможность использовать имена с точками. Если стоит "0", то точка используется как разделитель в системе почтовых каталогов.
unixhierarchysep: 1
#Для повышения производительности каталог с почтовыми ящиками разбивается на подкаталоги по алфавиту
# /var/spool/imap/a/, /var/spool/imap/b/ и т.д.
hashimapspool: true
#Проверка пойдет через PAM
sasl_pwcheck_method: saslauthd
# PLAIN - способ получения пароля от клиента, только PLAIN подойдет для проверки в файлах (базе) с паролями.
sasl_mech_list: PLAIN
#Список виртуальных доменов, для которые мы держим почтовые ящики
loginrealms: mydomain1.my mydomain2.my
#Сертификаты для шифрованного соединения
tls_cert_file: /usr/share/ssl/certs/cyrus-imapd.pem
tls_key_file: /usr/share/ssl/certs/cyrus-imapd.pem
tls_ca_file: /usr/share/ssl/certs/ca-bundle.crt
# Если мы хотим проверять пароли в БД с помощью встроенных модулей sasl, можно добавить
sasl_pwcheck_method: auxprop saslauthd
sasl_auxprop_plugin: sql
sasl_sql_engine: mysql
sasl_sql_user: mailadmin
sasl_sql_passwd: mailpasswd
sasl_sql_hostnames: localhost
sasl_sql_database: maildb
sasl_sql_statement: select password from accountuser where username = '%u' and domain_name = '%r'
(см. Аутенификация SASL)
/etc/cyrus.conf
Все по умолчанию
Программа cyradm
cyradm – скрипт на Perl для управления почтовыми ящиками по протоколу IMAP. Запуск
cyradm -u cyradmin localhost
cyradm можно использовать в диалоговом режиме, либо перенаправлять ему вывод какого либо скрипта
Создание почтового ящика и установка квоты 100МБ
cm user/newuser
sq user/newuser 100000
Удаление ящика
sam user/newuser cyradm c
dm user/newuser
Восстановление индексных файлов в порушенном ящике
sudo -u cyrus /usr/lib/cyrus-imapd/reconstruct user/john.dou