带有 Dovecot 的 Postfix:本地和虚拟用户

Ant*_*ton 5 email linux postfix dovecot

我刚刚完成了一个 Postfix SMTP 和 Dovecot IMAP/POP3 服务器的设置。

它对于发送和接收的虚拟用户都非常有效,但我需要执行以下操作:

除了虚拟用户能够检索邮件,我也希望能够检索本地用户的邮件。

所以,那将是从 /home/[user]/Maildir

目前 Dovecot 用户以以下格式存储在文件中 [user@domain]:[pass]:[uid]:[gid]

我也可以以某种方式将本地用户添加到该文件中吗?(我已经尝试过了,但是设置主目录不会阻止 Dovecot 解析为虚拟目录,而不是/home/[user]/Maildir.)

如何检索 Dovecot 用户的邮件以及本地用户的邮件?

Chl*_*loe 6

是的,您可以混合搭配本地和虚拟用户。我有这个。这是本地用户的设置auth-system.conf.ext

passdb {
  driver = pam
  args = failure_show_msg=yes
}

userdb {
  driver = passwd
}
Run Code Online (Sandbox Code Playgroud)

http://wiki2.dovecot.org/SystemUsers

您可以通过将用户类型放入userdb部分来更改该类型用户的邮件目录。这是我mail_location10-mail.conf本地用户的文件中:

mail_location = mbox:~/mail/:INBOX=/var/mail/%u
Run Code Online (Sandbox Code Playgroud)

我为虚拟用户更改了它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
}
Run Code Online (Sandbox Code Playgroud)

请参阅不同类型的各种教程:http : //wiki2.dovecot.org/HowTo

您还可以将这些设置为 yesdovecot.conftail /var/log/dovecot*查看它认为的用户类型。

#auth_verbose = yes
#auth_debug = yes
Run Code Online (Sandbox Code Playgroud)

我还想补充一点,在阅读文档时并不明显,Postfix 将所有邮件发送到每个用户的单个文件中。但是,Dovecot 需要多个文件和目录用于已发送、垃圾箱、草稿等。它们可以位于相同或完全不同的位置。有时邮件发送到 /var/mail,有时发送到 ~/mail。Dovecot (IMAP) 文件夹可以位于系统用户的用户主目录中,但是虚拟用户呢?他们要么共享一个主目录,要么他们的所有文件夹都进入 /var/vmail。