A solução encontrada aqui
Em vez de usar -a pam para saslauthd use -a sasldb assim
saslauthd -a sasldb
No sendmail eu fiz isso para o smtp auth o sasl está rodando
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 está configurado (/usr/lib/sasl2/sendmail.conf)
pwcheck_method: saslauthd
mech_list: LOGIN PLAIN
Eu configurei o sendmail smtp como este
define('confAUTH_MECHANISMS', 'LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
TRUST_AUTH_MECH('LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
Claro que eu compilei o arquivo e reiniciei o sendmail A autenticação SMTP parece estar funcionando (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
Quando o fizer, o login auth pedirá o usuário codificado na base64 eu coloquei, depois a senha, e eu coloquei E dê
535 5.7.0 authentication failed
para converter para base64 eu uso este script
#!/usr/bin/perl
use strict;
use MIME::Base64;
print encode_base64("$ARGV[0]");
exit 0;
Claro que o usuário saslpasswd2 recebeu primeiro Alguma sugestão?
A solução encontrada aqui
Em vez de usar -a pam para saslauthd use -a sasldb assim
saslauthd -a sasldb