Para reduzir a possibilidade de spam, estou tentando configurar o SMTPAUTH na minha instalação do Sendmail (8.14.4 on Mint MATE 17.1 x64). Os usuários podem recuperar e-mails do servidor com IMAP ou POP (usando o Dovecot), mas não podem enviar e-mails.
Primeiro, as opções do daemon no meu arquivo M4:
FEATURE('no_default_msa')dnl
dnl DAEMON_OPTIONS('Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS('Name=MTALocal,Address=127.0.0.1,Family=inet')
DAEMON_OPTIONS('Name=MTA,Address=192.168.1.110,Family=inet')
dnl DAEMON_OPTIONS('Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
DAEMON_OPTIONS('Name=MSA,Address=192.168.1.110,Family=inet,Port=587,Modifiers=E')
DAEMON_OPTIONS('Name=MSALocal,Address=127.0.0.1,Family=inet,Port=587,Modifiers=E')
Como estou usando o Thunderbird como cliente, o Sendmail deve ter o PLAIN ou o LOGIN disponíveis. O Thunderbird está configurado para se conectar ao servidor na porta 587. (Eu sei que 192.168.xx não é roteável. Meu firewall está configurado para encaminhar as portas 587 e 25 para 192.168.1.110. Eu tenho um IP roteável estático na parte externa do firewall .) A seção de autenticação do meu arquivo M4:
dnl # Forms of authentication allowed
TRUST_AUTH_MECH('EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
define('confAUTH_MECHANISMS','EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
Ciente do problema com o envio de credenciais em texto sem formatação. Configure para usar o STARTTLS que eu tenho. O TLS negocia com sucesso e confirmei que o TLS funciona usando o OpenSSL para estabelecer uma conexão com meu servidor de e-mail e enviar comandos por meio dele. Quando o Sendmail foi instalado, ele também criou a instalação do PAM que forneceria autenticação SMTP. (Existem anexos do PAM para SMTP e Dovecot, ambos.)
Quando forneço credenciais válidas ao meu servidor SMTP, ele responde
535 5.7.0 authentication failed
Não há nada nos logs do PAM que conclua conclusivamente que o Sendmail solicitou credenciais. Tudo o que está nos registros de e-mail é o usual "desconectado sem fornecer SEND / ETRN".
O que eu deveria estar olhando? Alguma idéia de como consertar isso?