Sendmail
sendmail smtp 驗證簡單,為什麼驗證失敗?
在 sendmail 上,我這樣做是因為 smtp auth sasl 正在執行
root 1609 1 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5 root 1610 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5 root 1611 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5 root 1612 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5 root 1613 1609 0 05:16 ? 00:00:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 5
Sasl sendmail 已配置(/usr/lib/sasl2/sendmail.conf)
pwcheck_method: saslauthd mech_list: LOGIN PLAIN
我已將 sendmail smtp 配置為這樣
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
當然我已經編譯了文件並重新啟動 sendmail smtp auth 似乎正在工作(telnet localhost)
250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 2097152 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-STARTTLS 250-DELIVERBY 250 HELP
當我這樣做時,身份驗證登錄要求輸入base64編碼的使用者,然後輸入密碼,然後輸入並給出
535 5.7.0 authentication failed
為了轉換為 base64,我使用這個腳本
#!/usr/bin/perl use strict; use MIME::Base64; print encode_base64("$ARGV[0]"); exit 0;
當然首先給出了 saslpasswd2 使用者有什麼建議嗎?
在這裡找到的解決方案
而不是使用 -a pam 為 saslauthd 使用 -a sasldb 像這樣
saslauthd -a sasldb