Existem dois métodos comuns para usar o postfix SASL com o MySQL:
- Usando o serviço saslauthd combinado com o pam_mysql
- Usando o auxprop sasl com o plugin sql
Infelizmente, o segundo método tem grave inconveniente de segurança : você deve armazenar a senha em texto sem formatação < formato / strong>. Então, no seu caso, você precisa usar o saslauthd e o pam_mysql.
Na sua configuração acima, você misturou esses dois métodos: em pwcheck_method você colocou o saslauthd, mas configurou o sasl para usar auxprop_plugin com o sql. O pwcheck_method irá sobrescrever isso, então o parâmetro auxprop_plugin (e todos os seus parâmetros sql_* ) se tornam inúteis. Isso explica por que você recebe uma consulta incorreta. Em vez disso, o SASL executará a consulta fornecida /etc/pam.d/smtp . Para satisfazer sua necessidade, coloque o parâmetro adicional where na configuração pam
... passwdcolumn=crypt crypt=1 debug where=enabled=1
... passwdcolumn=crypt crypt=1 debug where=enabled=1
E, para o problema do domínio em falta ( %r ), tente definir smtpd_sasl_local_domain como seu domínio padrão.