POSTFIX 致命:没有 SASL 身份验证机制

use*_*757 30 postfix saslauthd smtp-auth sasl

我在上面的错误中挣扎了 5 个多小时。我曾尝试完全删除 Postfix,并按照下一个手册SASL 手册的说明重新安装它。

当我尝试使用 telnet 登录时,服务器阻止了登录,我得到了这个:(使用 smtpd -v 更详细):

postfix/smtpd[26301]:xsasl_cyrus_server_create:SASL 服务=smtp,领域=(空)  
postfix/smtpd[26301]: name_mask: noanonymous  
postfix/smtpd[26301]:警告:xsasl_cyrus_server_get_mechanism_list:没有适用的 SASL 机制  
postfix/smtpd[26301]:致命:没有 SASL 身份验证机制  

以下是结果postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
allow_percent_hack = 否
append_dot_mydomain = 否
比夫 = 否
broken_sasl_auth_clients = 是
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = 全部
邮箱命令 = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
邮箱大小限制 = 0
mydestination = theflipapp.com, localhost.com, , localhost
myhostname = theflipapp.com
我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = 否
收件人分隔符 = +
中继主机 =
sender_bcc_maps = 哈希:/etc/postfix/bcc
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = 是
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = 是
virtual_alias_maps = 哈希:/etc/postfix/virtual

后缀主配​​置:

root@domain:/# cat /etc/postfix/master.cf | grep ^smtp
smtp inet n - - - - smtpd -v -o smtpd_sasl_auth_enable=yes
smtp unix - - - - - smtp

希望这些数据能帮助你帮助我..

小智 33

您可以安装 saslauthd 但没有安装任何机制。IMO,这非常令人沮丧且防错能力差。

“没有适用的 SASL 机制”字面意思是它找不到任何机制。在基于 Fedora 的系统上,如果您想使用“PLAIN”身份验证机制(即 SMTP/STARTTLS),则需要安装 cyrus-sasl-plain 软件包。

yum install cyrus-sasl-plain
Run Code Online (Sandbox Code Playgroud)

或者

apt-get install libsasl2-modules
Run Code Online (Sandbox Code Playgroud)

  • 在“apt install libsasl2-dev”之后,它在我的机器上运行了。 (3认同)

use*_*757 6

解决方案非常简单,SASL 守护进程已关闭。 /etc/init.d/saslauthd start

一些黑客设法一次又一次地关闭它,所以最终我完全关闭了它。


小智 5

首先,尝试将 的分隔符更改smtpd_recipient_restrictions为逗号。如果我没记错的话,这里的空格是不正确的。

然后尝试暂时禁用smtpd_sasl_security_options = noanonymous

您是否正在尝试针对 CYRUS IMAP 服务器进行身份验证?