我的日志中出现此错误
warning: SASL authentication failure: no secret in database
因为客户端尝试使用 MD5 身份验证,而服务器需要一个 md5 加密密码数据库。仅使用 PLAIN 身份验证的客户端可以正常工作。(它仅通过 SSL 启用,所以我对此没意见)。我如何禁用 MD5 身份验证?
答案1
这有点像黑客行为,但我找到了禁用该垃圾的方法。 里面/usr/lib/sasl2/
有一堆与不同身份验证机制相关的库文件。它们被称为 之类的东西libdigestmd5.so
。如果您删除了与您不想要的机制相关的文件(只需将它们放在其他目录中),postfix 将不会提供这些机制。
答案2
正确的方法是使用配置文件。
如果您使用 Cyrus SASL,则配置您的 smtpd.conf 以仅使用您想要的机制。
mech_list: PLAIN LOGIN
如果您使用 dovecot,您可以在 dovecot.conf 文件中执行此操作。
auth default {
mechanisms = plain login
...
....
}