我刚刚完成了 Postfix SMTP 和 Dovecot IMAP/POP3 服务器的设置。
对于虚拟用户来说,无论是发送还是接收,它都可以很好地工作,但我需要执行以下操作:
除了虚拟用户能够检索邮件之外,我还希望能够检索本地用户的邮件。
因此,这将接收来自/home/[user]/Maildir
目前 Dovecot 用户存储在以下格式的文件中[user@domain]:[pass]:[uid]:[gid]
我是否可以以某种方式将本地用户添加到该文件中?(我已经尝试过了,但是设置主目录并不能阻止 Dovecot 解析为虚拟目录,而不是/home/[user]/Maildir
。)
我如何检索 Dovecot 用户和本地用户的邮件?
答案1
是的,你可以混合搭配本地和虚拟用户。我有。以下是本地用户的设置auth-system.conf.ext
passdb {
driver = pam
args = failure_show_msg=yes
}
userdb {
driver = passwd
}
http://wiki2.dovecot.org/SystemUsers
您可以将某一类用户的邮件目录放入用户数据库部分。这是我在本地用户文件mail_location
中的内容:10-mail.conf
mail_location = mbox:~/mail/:INBOX=/var/mail/%u
我将其更改为虚拟用户auth-passwdfile.conf.ext
:
passdb {
driver = passwd-file
args = /etc/dovecot/passwd
}
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n mail=maildir:/var/mail/vhosts/%d/%n
}
请参阅不同类型的各种教程:http://wiki2.dovecot.org/HowTo
您还可以将这些设置为是,dovecot.conf
并tail
/var/log/dovecot*
查看它认为它是哪种类型的用户。
#auth_verbose = yes
#auth_debug = yes
我还想补充一点,阅读文档时可能不太明显,Postfix 会将所有邮件发送到每个用户的单个文件中。但是,Dovecot 需要多个文件和目录来存放已发送邮件、已删除邮件、草稿等。这些文件和目录可以位于相同或完全不同的位置。有时邮件会发送到 /var/mail,有时则发送到 ~/mail。对于系统用户,Dovecot (IMAP) 文件夹可以位于用户主目录中,但对于虚拟用户呢?他们要么共享一个主目录,要么所有文件夹都放在 /var/vmail 中。