我尝试使用 smtp 身份验证设置 postfix。我想使用 /etc/shadow 作为我的领域
不幸的是,当我尝试验证时,我收到“一般错误”
# nc localhost 25
220 mail.foo ESMTP Postfix
AUTH PLAIN _base_64_encoded_user_name_and_password_
535 5.7.8 Error: authentication failed: generic failure
在mail.warn
日志文件中我得到以下条目
Oct 8 10:43:40 mail postfix/smtpd[1060]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Oct 8 10:43:40 mail postfix/smtpd[1060]: warning: SASL authentication failure: Password verification failed
Oct 8 10:43:40 mail postfix/smtpd[1060]: warning: _ip_: SASL PLAIN authentication failed: generic failure
但是 sasl 设置似乎没问题
$ testsaslauthd -u _user_ -p _pass_
0: OK "Success."
我添加smtpd_sasl_auth_enable = yes
到了 main.cf
这是我的 smtpd.conf
$ cat /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
autotransition:true
我尝试使用最后两个命令和不使用最后两个命令来进行此配置。
我正在运行 Debian 稳定版。
postfix 如何找到并连接 saslauthd 服务器?
编辑:
我不确定 postfix 是否在 chroot 中运行 master.cf 如下所示:http://pastebin.com/Fz38TcUP
saslauth 位于 sbin 中
$ which saslauthd
/usr/sbin/saslauthd
EHLO 有这样的回应
EHLO _server_name_
250-_server_name_
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
答案1
您是否可能缺少从 /var/run/saslauthd 到 /var/spool/postfix/var/run/saslauthd 的符号链接?
从我的工作系统来看:
root@mail:/etc/postfix/sasl# ls -la /var/run/saslauthd
lrwxrwxrwx 1 root root 36 Dec 31 2010 /var/run/saslauthd -> /var/spool/postfix/var/run/saslauthd
答案2
我刚刚在更新并重启后遇到了这个问题,所以这仍然是一个问题(2023 年 10 月 Debian 11)和@paul-gear 的说明这里通过恢复符号链接解决了根本问题(谢谢),但我的 fail2ban 在此期间决定禁止我和我客户的 IP,因此我们的邮件客户端仍然无法连接。我删除了 jail 然后重新添加,postfix-sasl
一切都很好……我想/希望如此!