如何让 dovecot 和 postfix 使用同一个邮件目录

如何让 dovecot 和 postfix 使用同一个邮件目录

我正在尝试配置 postfix 和 dovecot 以连接到同一个 LDAP,我成功了。但现在,我遇到了一些差异。

复现如下:

  • 我使用 thunderbird 连接到 IMAP 中的 dovecot
  • 我自己创建一封电子邮件发送给我自己
  • 我使用来自同一服务器的后缀和同一用户
  • 我发送电子邮件

结果是:

  • 已发送的电子邮件放在已发送文件夹中。
  • 但我的收件箱里没有收到任何电子邮件。

检查服务器:

  • 已发送的电子邮件位于/var/mail/<username>/.Sent/cur/目录中
  • 收到的电子邮件在/var/mail/<domain>/<username>/new/目录中

我以为我以相同的方式配置了 maildir 目录(如/var/mail/%d/%n),但肯定存在问题。

我的配置(外部,抱歉,无法在问题中提出。在那些该死的配置文件上花了 30 小时(仍在计算)之后,我真的不确定哪个部分可能会影响什么……)

答案1

不要通过 postfix 传递消息。而是将它们传递给 dovecot deliver

https://wiki.dovecot.org/LDA/Postfix了解更多信息。

答案2

保持home_mailbox =main.cf 为空,并且

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

在 dovecot conf 中

mail_home = /var/mail/%d/%n

mail_location = maildir:~

另外,在 dovecot conf 中你需要添加或更改以下内容:

service auth {

    unix_listener /var/spool/postfix/private/auth { 
        mode = 0666
        #Change to the user and group of your postfix
        user = postfix  
        group = postfix
    }

    unix_listener auth-userdb {
        mode = 0666
        #Change to the user and group of your postfix
        user = postfix
        group = postfix
    }
    #dovecot user
    user = dovecot

}


service auth-worker {
  # Auth worker process is run as root by default, so that it can access
  # /etc/shadow. If this isn't necessary, the user should be changed to
  # $default_internal_user.
  user = root
}

相关内容