我如何让 Dovecot 和 postfix 对用户帐户和密码使用多个 passwd 文件?

我如何让 Dovecot 和 postfix 对用户帐户和密码使用多个 passwd 文件?

我第一次设置 Dovecot 和 postfix,有点困惑。我和其他几个人共享一个虚拟服务器,我想passwd为每个域创建一个单独的用户帐户文件(文件),以便每个人都可以自己管理他们的电子邮件帐户。我在目录中为每个域创建了一个目录/srv/mail,并passwd在里面放了一个文件。

我按照以下方式设置了 Dovecot。我认为userdbpassdb部分是最重要的部分,但我把其余部分也包括在内,因为我不太确定。

# 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

  1. Dovecot 不会创建邮箱;Postfix 会在收到邮件时创建邮箱。如果您想要预先拥有邮箱,最好在创建新邮件帐户时向其发送测试消息。
  2. 您不必明确地告诉 Postfix 有关多个密码文件;smtpd_sasl_type = dovecot告诉 Postfix 将所有身份验证请求传递给 Dovecot 的密码身份验证子系统,该子系统知道它必须做什么。

相关内容