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

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

我已经为上面的错误苦苦挣扎了 5 个多小时。我曾尝试完全删除 Postfix,并按照下一本手册SASL 手册以便重新安装它。

当我尝试使用 telnet 登录时,服务器阻止登录,并且我收到以下信息:(使用 smtpd -v 可获得更详细的信息):

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

结果如下postconf -n

别名数据库 = 哈希:/etc/aliases
alias_maps = hash:/etc/aliases
allow_percent_hack = no
append_dot_mydomain = no
biff = 没有
broken_sasl_auth_clients = 是
配置目录 = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = 全部
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
邮箱大小限制 = 0
我的目标 = theflipapp.com, localhost.com, , localhost
我的主机名 = theflipapp.com
我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = 否
收件人分隔符 = +
中继主机 =
sender_bcc_maps = hash:/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 rejection_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 = hash:/etc/postfix/virtual

Postfix 主配置:

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

希望这些数据能够帮助您帮助我。

答案1

您可以安装 saslauthd,但无需安装任何机制。在我看来,这非常令人沮丧,而且防错能力很差。

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

yum install cyrus-sasl-plain

或者

apt-get install libsasl2-modules

答案2

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

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

答案3

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

然后尝试暂时禁用smtpd_sasl_security_options = noanonymous

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

相关内容