So sieht die Meldung aus
530 5.7.0 Must issue a STARTTLS command firstHäufige Ursachen
- Client oder Anwendung ist auf „keine Verschlüsselung“ eingestellt.
- Port 587 mit Implicit TLS konfiguriert oder Port 465 mit STARTTLS – Port und Modus passen nicht zusammen.
- Postfix erzwingt TLS per
smtpd_tls_security_level = encryptodersmtpd_tls_auth_only = yes. - TLS-Zertifikat auf dem Server fehlt oder ist nicht lesbar, STARTTLS wird deshalb nicht angeboten.
Prüfen
- Prüfen, ob STARTTLS angeboten wird und welches Zertifikat kommt
openssl s_client -starttls smtp -connect mail.example.com:587 -servername mail.example.com </dev/null | head -n 5 - TLS-Pflicht in Postfix anzeigen
postconf -n | grep -E 'smtpd_tls_security_level|smtpd_tls_auth_only|smtpd_tls_cert_file' - Einstellungen für Submission (587) und SMTPS (465) anzeigen
postconf -M submission/inet smtps/inet - STARTTLS-Fehler im Log suchen
journalctl -u postfix --since '1 hour ago' | grep -i 'starttls'
Lösung
- Im Client Port 587 mit STARTTLS oder Port 465 mit SSL/TLS wählen – nie 587 mit „keine“.
- In Anwendungen die TLS-Option setzen, z. B. bei PHPMailer
SMTPSecure = 'tls'für 587 bzw.'ssl'für 465. - Auf dem Server gültiges Zertifikat über
smtpd_tls_cert_fileundsmtpd_tls_key_filehinterlegen undpostfix reloadausführen. - Für Port 25 zwischen Servern
smtpd_tls_security_level = maylassen, sonst lehnen Sie Mail von Servern ohne TLS ab.
Häufige Fragen
Soll ich TLS-Pflicht auf Port 25 aktivieren?
Nein, nicht global. Auf Port 25 empfängt der Server Mail von fremden Servern, von denen manche kein TLS sprechen. Erzwingen Sie TLS nur auf 587 und 465.
Warum kommt 530 erst nach der Umstellung auf einen neuen Mailserver?
Der neue Server erzwingt TLS, der alte hat auch unverschlüsselte Anmeldung erlaubt. Drucker, Scanner und alte Skripte müssen dann auf STARTTLS umgestellt werden.