SSMTP kann keine startssl-Verbindung von einem Raspberry Pi herstellen

694
zingmars

Ich versuche, automatische E-Mails auf meinem Himbeer-Pi einzurichten, aber es wird keine STARTTLS-Sitzung ausgehandelt.

Die ssmtp.conf lautet wie folgt:

root=postmaster mailhub=:587 AuthUser= AuthPass= UseTLS=TES UseSTARTTLS=YES hostname= FromLineOverride=YES DEBUG=YES 

Keine Revalases Der Fehler, den ich in mail.err bekomme, lautet wie folgt:

sSMTP[13572]: Cannot open :587 

In syslog bekomme ich folgende Zeilen -

sSMTP[13119]: Creating SSL connection to host sSMTP[13119]: 220 ESMTP Postfix sSMTP[13119]: EHLO  sSMTP[13119]: 250 DSN sSMTP[13119]: STARTTLS sSMTP[13119]: 220 2.0.0 Ready to start TLS sSMTP[13119]: SSL connection using (null) sSMTP[13119]: Cannot open :587 

Und es stirbt einfach. Ich habe versucht, den Parameter hostname, die Parameter UseTLS und UseSTARTTLS zu optimieren, funktionierte nicht. Ich habe auch versucht, die Parameter TLS_CA_File und TLS_CA_Dir in ähnlichen (aber alten) Forenbeiträgen zu setzen, aber diese scheinen überhaupt nicht zu funktionieren -

sSMTP[13572]: Unable to set TLS_CA_Dir="/etc/ssl/certs/" 

und

sSMTP[12962]: Unable to set TLS_CA_FILE="/etc/ssl/certs/ca-certificates.crt" 

Serverseite bekomme ich das -

postfix/submission/smtpd[7557]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled postfix/submission/smtpd[7557]: connect from unknown[] postfix/submission/smtpd[7557]: SSL_accept error from unknown[]: -1 postfix/submission/smtpd[7557]: warning: TLS library problem: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol:s23_srvr.c:649: postfix/submission/smtpd[7557]: lost connection after STARTTLS from unknown[] postfix/submission/smtpd[7557]: disconnect from unknown[] 

Alles funktioniert jedoch gut, wenn ich dieselbe Konfiguration auf einem Ubuntu 18.04-Computer oder von Desktop-E-Mail-Clients wie Thunderbird aus versuche. Irgendwelche Ideen, warum es vom Pi aus keine Verbindung zum Server herstellen kann?

0
Haben Sie die Datei `/ etc / ssl / certs / ca-certificate.crt` generiert? Ipor Sircer vor 5 Jahren 0
Ja, aber es scheint keine Rolle zu spielen, da ich mit ssmtp nicht TLS_CA_FILE setzen kann. zingmars vor 5 Jahren 0

1 Antwort auf die Frage

1
grawity

ssmtp ist nicht gepflegte Software und hat bekannte Probleme mit TLS. Debian hat vor einigen Monaten ssmtp vollständig aus den Repositories entfernt. Ubuntu wird folgen.

Der einzige Grund, warum es in Ubuntu / Debian funktioniert, liegt darin, dass Debian einen Patch angewendet hat (der ssmtp aus Lizenzgründen an GnuTLS portiert und die Fehler des ursprünglichen Codes zufällig löst).

(In Ihrem Fall würde ich vermuten, dass der Fehler dadurch verursacht wird, dass der Client die veraltete "SSLv2-kompatible" ClientHello-Nachricht sendet, die weit über ihrem Nutzdatum liegt und von OpenSSL auf dem Postfix-Server nicht mehr erkannt wird.)

Die Verwendung von TLS_CA_*Parametern ist ein weiterer von Debian hinzugefügter Patch - die ursprüngliche ssmtp-Software verfügt nicht über diese Optionen, da keine Zertifikatsüberprüfung durchgeführt wird .

Verwenden Sie stattdessen msmtp.