虚拟邮箱和系统邮箱 - 如何正确设置 passdb

虚拟邮箱和系统邮箱 - 如何正确设置 passdb

我刚刚在服务器上配置了电子邮件。Gentoo、Postfix、Dovecot、Amavisd、ClamAV 和 Spamassasin

我使用 LMTP 来传递虚拟邮件,效果很好。我为系统用户使用标准 postfix 传递方法 (mailbox_transport)。

但是因为我使用的是 spamassasin,所以我想将所有带有垃圾邮件标题的电子邮件移至垃圾邮件/目录。为此,我使用了 dovecot-sieve。

但现在我遇到了系统账户问题。由于这些账户不是随 dovecot 一起提供的,因此 sieve 无法移动它们。

我尝试将本地电子邮件传递到 dovecot(也使用 lmtp,但将 mailbox_transport 设置为与 virtual_transport 相同),但出现了下一个问题。我设置了两个 passdb 和两个 userdb,第一个使用 pam + passwd,第二个使用 passwd-file 和 static。

对于本地用户,使用整个用户名 + 域会导致 PAM 无法将本地用户与其自身匹配。如果我将变量 auth_username_format 更改为 %n(仅限用户),%d 会变为空,虚拟邮箱将停止工作。

如何将 lmtp 用于系统和虚拟邮箱?

这是我负责登录的 dovecot 部分:

passdb {
        driver = passwd-file
        args = username_format=%u /home/vmail/%d/passwd
        skip = authenticated
}
userdb {
        driver = static
        args = uid=500 gid=500 home=/home/vmail/%d mail=maildir:~/%n
}
passdb {
        args = imap
        driver = pam
}
userdb {
        driver = passwd
}

相关内容