Я хочу настроить почтовый сервер с использованием postfix и dovecot, который хранит почту в формате maildir, и я не хочу, чтобы какие-либо из этих файлов попадали в домашние каталоги пользователя. Где бы я ни искал, как заставить postfix использовать maildir, они просто говорят установить
home_mailbox = Maildir/
но это помещает почту в домашний домашний каталог.
dovecot прекрасно позволяет вам указать любой путь, а также дает вам% u для его настройки, поэтому я установил его на
mail_location = maildir:/var/mail/users/%u/:INBOX=/var/mail/users/%u/INBOX
Я действительно не против перемещать INBOX, если он не находится в / дома, но я не могу найти способ сделать это. Я не хочу возиться с виртуальными пользователями, procmail или чем-то еще.
Поскольку вы уже настроили Dovecot, самым простым решением вашей проблемы является использование доставки из Dovecot в качестве агента доставки почты (MDA).
Это можно сделать, добавив эту строку в main.cf (пути могут отличаться в зависимости от вашего дистрибутива, в Debian это /usr/lib/dovecot/dovecot-lda
):
mailbox_command = /usr/libexec/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"
Если у вас крупномасштабная установка и вы хотите использовать виртуальных пользователей, вам необходимо настроить службу в master.cf соответственно, например как это:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
Конечно, вы не должны использовать их, не создав свои собственные конфигурации.
Дополнительную информацию можно найти здесь: