我正在尝试在 Mint Linux 20.2 机器上使 SMTP-AUTH 工作,但在进行身份验证时遇到了问题。我已经安装了 Cyrus sasl2,并且显然已正确配置它 -testsaslauthd -u <user> -p <password> -s smtp
返回0: OK "Success."
但是当我尝试使用相同凭据从我的客户端发送邮件时,sendmail 无法进行身份验证。令我好奇的是,当我使用时,testsaslauthd
我的身份验证日志中会生成条目,但是当 Sendmail 尝试时,什么都没有。尝试testsaslauthd
从非 root 上下文使用也会导致没有身份验证条目,这让我相信要么sendmail
没有足够的权限连接到 sasl 守护程序,要么它不知道该管道在哪里并且猜错了。所以我想问题是,它如何sendmail
找到该管道,当它这样做时它是谁?
答案1
你的 sendmail 是用 SASL 编译的吗?检查:
sendmail -d0 < /dev/null | grep SASL
它应该列出“SASLv2”
您是否在“sendmail.mc”中激活了它?例如:
define(`confAUTH_MECHANISMS', `PLAIN LOGIN CRAM-MD5')dnl
define(`confAUTH_OPTIONS', `y')dnl
TRUST_AUTH_MECH(`PLAIN LOGIN CRAM-MD5')dnl
define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')dnl
答案2
每个使用 SASL 的客户端都应该有一个配置文件,例如“/usr/lib/sasl2/Sendmail.conf”
pwcheck_method: saslauthd