sendmail smtp 验证简单,为什么验证失败?

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 用户 有什么建议吗?

答案1

找到解决方案这里

不要使用 -a pam for saslauthd 使用 -a sasldb 像这样

saslauthd  -a sasldb

相关内容