在Ubuntu上使用Postfix的Dovecot:警告:SASL:连接到私人/ auth-client失败:没有这样的文件或目录

我似乎无法让鸽舍开始。 我的日志不断显示这个东西:

connect from localhost[127.0.0.1] Mar 1 17:15:01 mac postfix/smtpd[32526]: warning: SASL: Connect to private/auth-client failed: No such file or directory Mar 1 17:15:01 mac postfix/smtpd[32526]: fatal: no SASL authentication mechanisms Mar 1 17:15:02 mac postfix/master[21369]: warning: process /usr/lib/postfix/smtpd pid 32526 exit status 1 Mar 1 17:15:02 mac postfix/master[21369]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling Mar 1 17:15:03 mac postfix/smtpd[32546]: connect from localhost[127.0.0.1] Mar 1 17:15:03 mac postfix/smtpd[32546]: warning: SASL: Connect to private/auth-client failed: No such file or directory Mar 1 17:15:03 mac postfix/smtpd[32546]: fatal: no SASL authentication mechanisms Mar 1 17:15:04 mac postfix/master[21369]: warning: process /usr/lib/postfix/smtpd pid 32546 exit status 1 Mar 1 17:15:04 mac postfix/master[21369]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling 

我的/etc/postfix/main.cf有:

 home_mailbox = Maildir/ mailbox_command = inet_protocols = ipv4 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth-client smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous 

和谷歌search使得看起来像我需要添加一个客户端块,如:

 client { path = /var/spool/postfix/auth/dovecot mode = 0660 user = postfix group = mail } 

但是,自从我find所有的例子以来,似乎鸽鸽已经被改变了,所以我不知道该把它放在哪里。 我正在使用Dovecot 2.0.13

任何想法如何解决这一问题? 谢谢!

我看了这一切,没有find任何东西。 我正在使用Dovecot 2.0.19。

最终通过编辑/etc/dovecot/conf.d/10-master.conffind修复并设置以下内容:

  # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth_client { mode = 0666 user = postfix } 

然后重新启动dovecot('service restart dovecot')

如果您没有/etc/dovecot/conf.d/10-master.conf文件,请尝试grepping / etc / dovecot来查找可能的configuration:

 cd /etc/dovecot grep -ri postfix * 

并查找一个声明到/ var / spool / postfix某处path的文件,并根据需要进行调整。 在我的dovecotconfiguration中,unix_listener被注释掉了,指向错误的文件(/ var / spool / postfix / private / auth)。

当然,您需要在Dovecot和Postfix中使用套接字的path名,否则您将无法获得这样的文件或目录错误,原因是您连接到不存在的套接字。

在Dovecot和Postfix中select一个path名或另一个path名进行configuration。 例如,使您的Dovecotconfiguration符合Postfix的要求:

 auth default { ... socket listen { ... client { path = /var/spool/postfix/private/auth-client mode = 0660 user = postfix group = mail } ... } ... } 

您必须更改auth-client为dovecot-auth,因为是新的套接字auth的名称。 find/var/spool/postfix/private/ 。 所以把/var/spool/postfix/private/dovecot-auth而不是/var/spool/postfix/private/auth-client

我得到了同样的问题,并与此解决。