Come appare il messaggio
postfix/smtp[2314]: warning: SASL authentication failure: No worthy mechs found
postfix/smtp[2314]: 4F1A2B3C4D: SASL authentication failed; cannot authenticate to server smtp.example.com[203.0.113.10]: no mechanism availableCause frequenti
- Manca il pacchetto con i meccanismi SASL:
libsasl2-modules. Dà “no mechanism available”. - Nome utente o password in
/etc/postfix/sasl_passwdsono errati, oppure il file è stato cambiato ma non è stato eseguitopostmap. - La chiave in
sasl_passwdnon corrisponde esattamente arelayhost, ad esempio per le parentesi quadre o la porta. - Il provider offre l'accesso solo via TLS, ma
smtp_tls_security_levelnon è impostato. smtp_sasl_security_optionsvieta il meccanismo che il provider offre.
Verifica
- Il pacchetto dei moduli SASL è installato?
dpkg -l | grep libsasl2-modules - Impostazioni di relay, SASL e TLS
postconf -n | grep -E 'relayhost|smtp_sasl|smtp_tls' - La chiave salvata corrisponde all'host del relay?
sudo postmap -q '[smtp.example.com]:587' /etc/postfix/sasl_passwd - Cosa dice il log?
Soluzione
- Installa i moduli:
apt install libsasl2-modules. - Imposta il relay con parentesi e porta:
relayhost = [smtp.example.com]:587. - Attiva login e TLS:
smtp_sasl_auth_enable = yes,smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd,smtp_sasl_security_options = noanonymous,smtp_tls_security_level = encrypt. - Scrivi
[smtp.example.com]:587 utente:passwordinsasl_passwd, poipostmap /etc/postfix/sasl_passwdechmod 600 /etc/postfix/sasl_passwd*. - Ricarica:
postfix reload, e prova con una mail.
Domande frequenti
Cosa significa “no mechanism available”?
Postfix non ha un meccanismo SASL utilizzabile per questo server. O manca il pacchetto del plugin, oppure il server offre i suoi meccanismi solo dopo STARTTLS, che Postfix non ha avviato.
In cosa è diverso dall'errore 535?
Con il 535 il server ha risposto e ha rifiutato le credenziali. Qui Postfix non è riuscito nemmeno a provare.