为什么我会收到“致命错误:SASL 库初始化”

为什么我会收到“致命错误:SASL 库初始化”

如果我打开 smtp_sasl_auth_enable=yes <- yes

我收到这组警告和 SASL 致命错误。我不明白为什么它还要查找 cyrus — 它未在编译中。

postfix/smtp[87056]: warning: unsupported SASL client implementation: cyrus
Apr 20 13:29:52 zeus.quantum-radio.net postfix/smtp[87056]: fatal: SASL library initialization
Apr 20 13:29:53 zeus.quantum-radio.net postfix/master[86038]: warning: process /usr/libexec/postfix/smtp pid 87056 exit status 1
Apr 20 13:29:53 zeus.quantum-radio.net postfix/master[86038]: warning: /usr/libexec/postfix/smtp: bad command startup -- throttling

我的配置如下:

smtpd_use_tls=yes
smtpd_tls_cert_file=/System/Library/OpenSSL/certs/testServer.crt
smtpd_tls_key_file=/System/Library/OpenSSL/private/testServer.key
tls_random_source=dev:/dev/urandom

smtpd_sasl_auth_enable=yes
smtpd_sasl_type=dovecot
smtpd_sasl_path=private/auth
smtpd_recipient_restrictions=check_sender_access  hash:/usr/local/cutedge/postfix/etc/access, check_client_access hash:/usr/local/cutedge/postfix/etc/access, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access hash:/usr/local/cutedge/postfix/etc/access
broken_sasl_auth_clients=yes

smtp_sasl_auth_enable=no
smtp_sasl_password_maps=hash:/usr/local/cutedge/postfix/etc/sasl_passwd
smtp_sasl_security_options=noplaintext,noanonymous
smtp_use_tls=yes

smtpd_helo_required=yes

答案1

Postfix 本身没有实现 SASL,而是使用现有的实现作为构建块。目前 postfix 仅支持两种 SASL 实现,Cyrus SASL 和 Dovecot SASL。

  1. Cyrus SASL 提供 SASL 框架两个都Postfix SMTP 服务器邮件传输协议 和 SMTP 客户端简体中文:
  2. Dovecot SASL 的当前实现不提供客户端功能

所以,这足够清楚为什么 postfix简体中文:抛出有关缺少 Cyrus SASL 实现的错误。这是因为 Postfix SMTP 客户端仅使用 Cyrus SASL 实现才能工作。


显而易见的解决方案是使用两个 SASL 实现编译 postfix:Cyrus SASL 和 Dovecot SASL。要检查它们是否都编译为 postfix,请使用:postconf 命令

postconf -a

相关内容