Простая аутентификация 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 для saslauthd используйте -a sasldb, например так

saslauthd  -a sasldb

Связанный контент