![我如何让 Dovecot 和 postfix 对用户帐户和密码使用多个 passwd 文件?](https://linux22.com/image/497629/%E6%88%91%E5%A6%82%E4%BD%95%E8%AE%A9%20Dovecot%20%E5%92%8C%20postfix%20%E5%AF%B9%E7%94%A8%E6%88%B7%E5%B8%90%E6%88%B7%E5%92%8C%E5%AF%86%E7%A0%81%E4%BD%BF%E7%94%A8%E5%A4%9A%E4%B8%AA%20passwd%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我第一次设置 Dovecot 和 postfix,有点困惑。我和其他几个人共享一个虚拟服务器,我想passwd
为每个域创建一个单独的用户帐户文件(文件),以便每个人都可以自己管理他们的电子邮件帐户。我在目录中为每个域创建了一个目录/srv/mail
,并passwd
在里面放了一个文件。
我按照以下方式设置了 Dovecot。我认为userdb
和passdb
部分是最重要的部分,但我把其余部分也包括在内,因为我不太确定。
# 1.2.1: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.18.8-x86_64-linode7 x86_64 ext3
ssl_cert_file: /etc/ssl/certs/mail.crt
ssl_key_file: /etc/ssl/private/mail.key
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/imap-login
login_user: mail
mail_access_groups: mail
mail_location: maildir:/srv/mail/%d/%n
imap_client_workarounds: delay-newmail tb-extra-mailbox-sep
auth default:
mechanisms: plain login
passdb:
driver: passwd-file
args: username_format=%n /srv/mail/%d/passwd
userdb:
driver: passwd-file
args: username_format=%n /srv/mail/%d/passwd
socket:
type: listen
client:
path: /var/run/dovecot/auth-client
mode: 432
user: mail
group: mail
这根本行不通——我可以连接,但无法检索邮件。我感觉这与缺少邮件目录有关,但我不知道如何说服 Dovecot 创建这些目录。
我还想设置 postfix 以使用相同的用户帐户发送和接收电子邮件,并通知 dovecot 有新邮件到达。我使用 Google 找到了一个指南,它告诉我将其插入到配置文件中:
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
这对我来说有点道理。但是,我找不到任何关于passwd
为每个域使用不同文件的信息。有人能帮我吗?
谢谢。
——萨米尔。
答案1
- Dovecot 不会创建邮箱;Postfix 会在收到邮件时创建邮箱。如果您想要预先拥有邮箱,最好在创建新邮件帐户时向其发送测试消息。
- 您不必明确地告诉 Postfix 有关多个密码文件;
smtpd_sasl_type = dovecot
告诉 Postfix 将所有身份验证请求传递给 Dovecot 的密码身份验证子系统,该子系统知道它必须做什么。