解决了。我将把这个留给其他人作为参考,因为我在网上经常看到有人报告这个错误。
我不得不改变路径
smtpd_sasl_path = private/auth
在我的
/etc/postfix/main.cf
改为相对路径,而不是绝对路径。这是因为在 Debian Postfix 中,它会以 chroot 方式运行(这会对路径结构产生什么影响?!有人知道吗?)
--
我正在尝试让 Dovecot 通过 SASL 与 Postfix 通信以获得 SMTP 支持。总体计划是能够使用虚拟用户在我的(Debian Lenny 64 位)服务器上托管多个电子邮件帐户。每当我测试当前配置时,通过运行
telnet server-IP smtp
我在 mail.log 上收到以下错误
warning: SASL: Connect to /var/spool/postfix/private/auth failed: No such file or directory
现在,Dovecot 应该创建 auth 套接字文件,但它却没有。我已为目录 private 赋予了正确的权限,甚至尝试手动创建 auth 文件。
输出
postconf -a
是
cyrus
dovecot
我是否可以正确地假设该软件包是在 SASL 支持下编译的?
我的 dovecot.conf 也持有
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
我尝试了所有可用的解决方案,经过一整天的努力解决这个问题后,我几乎绝望了。有人能帮帮我吗?
答案1
如果您想在 postfix 中使用 sasl,您还必须说明它必须使用哪种类型。 的输出为postdonf -a
您提供了可能的类型。 在您的例子中,您必须声明以下内容:
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot