Хранение почты в домашней папке пользователя ISPManager

07.11.2009 0:03 / Артём Волк / 1338 просмотров / ...

Было необходимо перенести почту 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