postfix+dovecot 将 maildir 格式的邮件存储在 /var/mail 中

postfix+dovecot 将 maildir 格式的邮件存储在 /var/mail 中

我想使用 postfix 和 dovecot 设置一个邮件服务器,使用 maildir 格式存储邮件,并且我不希望这些文件中的任何一个进入用户的主目录。无论我在哪里搜索如何让 postfix 使用 maildir,他们只是说设置

home_mailbox = Maildir/

但这会将邮件放在主主目录中。

dovecot 可以让你指定任何路径,并且还提供了 %u 来自定义它,所以我将其设置为

mail_location = maildir:/var/mail/users/%u/:INBOX=/var/mail/users/%u/INBOX

我并不介意移动 INBOX,只要它不在 /home 中,但我找不到任何方法可以做到这一点。我不想为虚拟用户、procmail 或任何东西烦恼。

答案1

由于您已经配置了 Dovecot,解决您的问题最简单的方法是使用 Dovecot 的 deliver 作为邮件传递代理 (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}

当然,如果您没有仔细制定自己的配置,就不应该使用它们。

您可以在这里调查更多信息:

http://wiki2.dovecot.org/LDA/Postfix

相关内容