
Ich habe gerade zum ersten Mal CentOS 5.5 und Postfix installiert.
Ich habe zwei verschiedene Tutorials befolgt, die TLS auf dem SMTP-Server aktivieren sollen. In beiden wurde mir gesagt, ich solle einen Schlüssel und ein Zertifikat erstellen, die Konfiguration bearbeiten und den Server testen, indem ich eine Verbindung über Telnet herstelle.
Alles scheint zu funktionieren. Wenn ich mich mit Telnet verbinde, meldet der Server, dass ich mich mit STARTTLS verbinden kann. Ich habe die Firewall für die Ports 25 und 465 geöffnet. SELinux ist deaktiviert (ich bin nicht sicher, ob das gestört hätte oder nicht).
Wenn ich versuche, eine E-Mail mit aktiviertem STARTTLS in Thunderbird zu senden, erhalte ich die folgende Fehlermeldung:
Beim Senden der E-Mail ist ein Fehler aufgetreten: Der Mailserver hat eine falsche Begrüßung gesendet: Es kann keine Verbindung zum SMTP-Server 192.168.0.9 (192.168.0.9:465) hergestellt werden, Verbindungsfehler 10061.
Nachdem ich auf „OK“ geklickt habe, werde ich mit einer weiteren, weniger hilfreichen Meldung begrüßt:
Das Senden der Nachricht ist fehlgeschlagen. Die Nachricht konnte nicht gesendet werden, da die Verbindung zum SMTP-Server cinc.centos während der Transaktion verloren ging. Versuchen Sie es erneut oder wenden Sie sich an Ihren Netzwerkadministrator.
Ich habe jetzt fast einen ganzen Tag lang gegoogelt und an der Konfiguration herumgefummelt. Und ich bin der Lösung des Problems absolut nicht näher gekommen. Ich habe versucht, die Fehlermeldung oder nur den Fehlercode zu googeln, aber ich habe nichts Hilfreiches gefunden.
Der SMTP-Server funktioniert jedoch auch ohne TLS-Verschlüsselung einwandfrei! Der Fehler liegt also definitiv nur bei der Verschlüsselung, weshalb in der Fehlermeldung Port 465 erwähnt wird.
Falls es hilft, habe ich den TLS-Teil meinermain.cf:
smtp_tls_note_starttls_offer = ja
smtpd_tls_received_header = ja
smtpd_sasl_local_domain = cinc.centos
smtpd_sasl_auth_enable = ja
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = ja smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_security_level = kann
smtpd_tls_key_file = /etc/pki/tls/private/cinc.centos.key
smtpd_tls_cert_file = /etc/pki/tls/certs/cinc.centos.cert
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_timeout = 3600 s
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache
tls_random_source = dev:/dev/urandom
Ich binso verwirrtvon dieser ganzen Sache! Ich komme der Lösung des Problems auf eigene Faust nicht näher ... kann mir jemand den richtigen Weg weisen?
Tausend Dank!!
Ollie Treend
Antwort1
Debuggen Sie es mit OpenSSL.
openssl s_client -host localhost -starttls smtp
Antwort2
Ich hatte dasselbe Problem mit der Verbindung von Thunderbird zu Postfix (Thunderbird sagte " The mail server sent an incorrect greeting: 5.7.1
"). Bei mir wurde es gelöst, indem ich es /etc/postfix/master.cf
so geändert habe, dass es nicht mehr lautet:
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
..es las:
-o smtpd_client_restrictions=permit
-o smtpd_sender_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
Postfix hatte die Verbindung von Thunderbird abgelehnt, bevor eine Authentifizierung möglich war.
Antwort3
Sie müssen die Mynetworks-Einträge in main.cf ergänzen, um der IP, von der aus Sie testen, die Verbindung zu ermöglichen. Wenn Sie versuchen, vom lokalen Host aus eine Verbindung herzustellen, sollte Mynetworks = localhostIP konfiguriert sein. Postfix neu laden und/oder Postfix neu starten und erneut testen.