Linux
Sendmail 如何確定 SASL 在哪裡監聽?
我正在嘗試讓 SMTP-AUTH 在 Mint Linux 20.2 機器上執行,但無法進行身份驗證。我已經安裝了 Cyrus sasl2,並且顯然已正確配置它 -
testsaslauthd -u <user> -p <password> -s smtp
返回0: OK "Success."
但是當我嘗試使用相同的憑據從我的客戶端發送郵件時,sendmail 無法進行身份驗證。讓我感到好奇的是,當我使用testsaslauthd
身份驗證日誌時會生成條目,但是當 Sendmail 嘗試時,什麼都沒有。嘗試testsaslauthd
從非 root 上下文中使用也會導致沒有身份驗證條目,這讓我相信要麼sendmail
沒有足夠的權限連接到 sasl 守護程序,要麼它不知道該管道在哪裡並且猜錯了. 所以我想問題是,如何sendmail
找到那個管道,當它這樣做時它是誰?
你的 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
每個使用 SASL 的客戶端都應該有一個配置文件,例如“/usr/lib/sasl2/Sendmail.conf”
pwcheck_method: saslauthd