So sieht die Meldung aus
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 availableHäufige Ursachen
- Das Paket mit den SASL-Verfahren fehlt:
libsasl2-modules. Das ergibt „no mechanism available“. - Benutzername oder Passwort in
/etc/postfix/sasl_passwdsind falsch, oder die Datei wurde geändert, aberpostmapnicht ausgeführt. - Der Schlüssel in
sasl_passwdpasst nicht genau zurelayhost, z. B. wegen der eckigen Klammern oder des Ports. - Der Anbieter bietet die Anmeldung nur über TLS an,
smtp_tls_security_levelist aber nicht gesetzt. smtp_sasl_security_optionsverbietet das Verfahren, das der Anbieter anbietet.
Prüfen
- Ist das SASL-Modulpaket installiert?
dpkg -l | grep libsasl2-modules - Relay-, SASL- und TLS-Einstellungen
postconf -n | grep -E 'relayhost|smtp_sasl|smtp_tls' - Passt der gespeicherte Schlüssel zum Relay-Host?
sudo postmap -q '[smtp.example.com]:587' /etc/postfix/sasl_passwd - Was sagt das Log?
Lösung
- Die Module installieren:
apt install libsasl2-modules. - Das Relay mit Klammern und Port setzen:
relayhost = [smtp.example.com]:587. - Anmeldung und TLS aktivieren:
smtp_sasl_auth_enable = yes,smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd,smtp_sasl_security_options = noanonymous,smtp_tls_security_level = encrypt. [smtp.example.com]:587 benutzer:passwortinsasl_passwdeintragen, dannpostmap /etc/postfix/sasl_passwdundchmod 600 /etc/postfix/sasl_passwd*.- Neu laden:
postfix reload, und mit einer Mail testen.
Häufige Fragen
Was bedeutet „no mechanism available“?
Postfix hat für diesen Server kein nutzbares SASL-Verfahren. Entweder fehlt das Plugin-Paket, oder der Server bietet seine Verfahren erst nach STARTTLS an, das Postfix nicht gestartet hat.
Wie unterscheidet sich das von Fehler 535?
Bei 535 hat der Server geantwortet und die Zugangsdaten abgelehnt. Hier konnte Postfix es gar nicht erst versuchen.