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


22

我为上述错误苦苦挣扎超过5个小时。我试图完全删除Postfix,并且已经按照下一本手册SASL手册的说明进行了重新安装。

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

后缀/ smtpd [26301]:xsasl_cyrus_server_create:SASL服务= smtp,领域=(空)  
后缀/ smtpd [26301]:名称掩码:匿名  
postfix / smtpd [26301]:警告:xsasl_cyrus_server_get_mechanism_list:没有适用的SASL机制  
postfix / smtpd [26301]:致命:无SASL身份验证机制  

以下是结果postconf -n

alias_database =哈希:/ etc / aliases
alias_maps =哈希:/ etc / aliases
allow_percent_hack =否
append_dot_mydomain =否
biff =否
broken_sasl_auth_clients =是
config_directory = / etc / postfix
home_mailbox = Maildir /
inet_interfaces =全部
Mailbox_command = / usr / bin / procmail-wrapper -o -a $ DOMAIN -d $ LOGNAME
Mailbox_size_limit = 0
mydestination = theflipapp.com,localhost.com,
myhostname = theflipapp.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
myorigin = / etc /邮件名
readme_directory =否
receive_delimiter = +
relayhost =
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 =匿名
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 =是
smtp unix-----smtp

希望这些数据能对您有所帮助。


就我而言,在Ubuntu Server 16.04上,dovecot守护程序未运行,键入dovecot可以解决问题。但是,这突出了一个根本问题,即它没有在启动中运行。您可以在此处阅读如何添加它:help.ubuntu.com/community/UbuntuBootupHowto
Omar Alshaker

Answers:


27

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

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

yum install cyrus-sasl-plain

要么

apt-get install libsasl2-modules

非常感谢!真的很难找到造成此类问题的原因,日志中的消息也无济于事-仅作为搜索中的关键字来找到如此出色的答案。你救了我的日子。
hgoebl

apt install libsasl2-dev我的机器上工作之后。
Markus Zeller

5

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

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


2

首先,尝试将smtpd_recipient_restrictions的分隔符更改为逗号。这里的空格是IIRC错误。

然后:尝试暂时禁用“ smtpd_sasl_security_options = noanonymous”。您是否要针对CYRUS imap服务器进行身份验证?


根据位于smtpd_recipient_restrictions下的main.cf手册页linux.die.net/man/5/main.cf,它说:“指定限制列表,用逗号和/或空格分隔。” 因此,仅使用空格作为分隔符就可以了。
皮特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.