Хранение почты в домашней папке пользователя ISPManager
Было необходимо перенести почту e-mail пользователей на сервере, работающим на Debian под управлением
панели ISPManager, в их домашние каталоги: /home/<пользователь панели>/data/email/<домен>/<имя пользователя> из
общесистемного каталога /var/mail.
В качестве почтовых серверов использовались sendmail и dovecot.
Настройка доставки почты
Для настройки доставки входящей почты необходимо в конфигурационном файле /etc/procmailrc добавить строку:
DEFAULT=$HOME/Maildir/
В случае, если значение параметра заказчивается слешом, будет использован формат Maildir, если слеш будет отсутствовать — mbox.
Настройка POP3/IMAP-сервера
Пути к почтовым каталогам пользователей хранятся в файле /etc/dovecot/dovecott.passwd, к сожалению, в текущей
версии ISPManager нет возможности управлять форматом добавляемых в этот файл строк, поэтому необходимо создать два скрипта (один для POP3, второй для IMAP)
/usr/lib/dovecot/imap_post_login.sh
MAIL=$HOME/Maildir/ exec /usr/lib/dovecot/imap $*
/usr/lib/dovecot/pop3_post_login.sh
MAIL=$HOME/Maildir/ exec /usr/lib/dovecot/pop3 $*
Здесь ситуация со слешами аналогична: если слеш указан — используется формат Maildir, если не указан — mbox.
Для вызова этих скриптов при логине пользователя, в /etc/dovecot/dovecot.conf в секции protocol_pop3 добавляется строка
mail_executable = /usr/lib/dovecot/pop3_post_login.sh
в секции protocol_imap:
mail_executable = /usr/lib/dovecot/imap_post_login.sh
Бонус: настройка OpenWebmail
В моём случае использовался OpenWebmail, поэтому пришлось использовать формат mbox (Maildir Openwebmail не поддерживает), файл
с почтой назывался Mailbox. Необходимые параметры в /etc/openwebmail/openwebmail.conf:
use_homedirspools yes homedirspoolname Mailbox
