我正在尝试配置我的 postfix 服务器,以使用 dovecot 的 SASL 身份验证接受来自外部邮件客户端的连接。它之前已使用 cyrus sasl 进行设置。
但是,当我尝试使用 Mozilla Thunderbird 从另一台服务器发送邮件时,我的邮件日志文件中出现了如下行:
warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
warning: SASL authentication failure: no secret in database
warning: SASL CRAM-MD5 authentication failed: authentication failure
这些是我的 main.cf 配置文件中的行:
smtpd_helo_restrictions =
reject_invalid_hostname
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unknown_recipient_domain,
reject_unauth_destination
reject_non_fqdn_sender
check_client_access hash:/etc/postfix/pop-before-smtp,
reject_non_fqdn_recipient,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client psbl.surriel.com
smtpd_sasl_path = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noplaintext noanonymous
broken_sasl_auth_clients = yes
我还检查了配置文件/usr/lib/sasl/smtpd.conf和/etc/postfix/sasl/smtpd.conf我有:
pwcheck_method:saslauthd
mech_list: plain login
我不知道为什么 postfix 一直给我 sasldb2 和 cram-md5 身份验证错误。非常感谢您的帮助。
答案1
saslauthd 只能处理 PLAIN 和 LOGIN 身份验证方法,但您已使用 smtpd_sasl_security_options 禁用纯文本。此外,您的配置中存在拼写错误 - smtpd_sasl_path 语句重复,似乎第一个应该输入为 smtpd_sasl_type。
查看http://www.postfix.org/SASL_README.html了解更多详细信息。