AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand
Thema durchsuchen
Ansicht
Themen-Optionen

Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

Ein Thema von Harry Stahl · begonnen am 17. Jan 2023 · letzter Beitrag vom 18. Jan 2023
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#1

Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 16:36
Hallo,

ich verwende folgenden Code, mit dem ich bislang mit der SSLVTLSv2 Einstellung erfolgreich Mails versenden konnte (TLS V1 wird ja seit letzes Jahr nicht mehr unterstützt).

Delphi-Quellcode:
{$REGION 'SSL-Optionen'}
      // kein SSL bei Kommunikation zwischen Mailserver und Programm
      if (bSMTPSSL) and (bPop3UseLanServer = false) then begin
        DMI.IdSMTP1.IOHandler := DMI.SSLIOSMTP;

        // Hinweis: Das muss nicht immer so sein
        // Evtl. einstellbar machen
        // Einstellungen Postausgangsserver
        // 587 entspricht STARTTLS (explizit)
        // 465 entspricht SSL/TLS (implizit), was wohl sicherer ist...

        //DMI.IdSMTP1.UseEhlo := True;

        if (StrToInt(sSMTPPort)= 587) then begin
          DMI.IdSMTP1.UseTLS := utUseExplicitTLS;
        end else begin // StrToInt(sSMTPPort)= 465)
          DMI.IdSMTP1.UseTLS := utUseImplicitTLS;
        end;

        DMI.IdSMTP1.Port := StrToInt(sSMTPPort);

        if sSMtpSSLVer = 'SSLV2then DMI.SSLIOSMTP.SSLOptions.method := sslvSSLV2;
        if sSMtpSSLVer = 'SSLV23then DMI.SSLIOSMTP.SSLOptions.method := sslvSSLV23;
        if sSMtpSSLVer = 'SSLV3then DMI.SSLIOSMTP.SSLOptions.method := sslvSSLV3;
        if sSMtpSSLVer = 'TLSV1then DMI.SSLIOSMTP.SSLOptions.method := sslvTLSV1;

        if sPop3SSLVer = 'SSLVTLSV_1then DMI.SSLIOPOP.SSLOptions.method := sslvTLSv1_1;
        if sPop3SSLVer = 'SSLVTLSV_2then DMI.SSLIOPOP.SSLOptions.method := sslvTLSv1_2;

      end else begin
        DMI.IdSMTP1.UseTLS := utNoTLSSupport;
        DMI.IdSMTP1.IOHandler := NIL;
      end;
      {$ENDREGION}
Seit heute funktioniert das nicht mehr, habe auch schon entsprechende Kundenrückmeldungen (als WorkAround kann man SSLV23 wählen, dann handeln die Server das aus, funktioniert wohl, gibt aber evtl. trotzdem Fehlermeldungen - z.b. bei Web.de ).

Beim Debuggen kann ich verfolgen, dass als Protokoll auch TLSV2 gewählt wurde.

Egal, ob ich als Sendeport 465 oder 587 wähle, es kommt immer die anliegende Fehlermeldung.

Und im Protokoll steht dieses:

"Fehlerprotokoll vom:17.01.2023 16:21
1: Verbinde für Senden...
2: SSL-Status: Host-Name securesmtp.t-online.de wird aufgelöst.
3: SSL-Status: Verbinden mit 194.25.134.46.
4: SSL-Status-Info: SSL-Status: "before/connect initialization"
5: SSL-Status-Info: SSL-Status: "before/connect initialization"
6: SSL-Status-Info: SSL-Status: "SSLv3 write client hello A"
7: SSL-Status-Info: SSL-Status: "SSLv3 read server hello A"
8: SSL-Status-Info: SSL-Status: "error"
9: Fehlermeldung des Mailservers (SMTP):
10: Verbindung konnte nicht hergestellt werden.
11: Fehlertyp: EIdOSSLUnderlyingCryptoError Meldung: Fehler beim Verbinden mit SSL.
12: error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version"

Was kann ich machen, um das zu fixen?
Miniaturansicht angehängter Grafiken
sslerr.png  

Geändert von Harry Stahl (17. Jan 2023 um 16:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 17:23
Hallöle...

aktuelle SSL DLL´s ?
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 17:36
Ja, vom 21.12.2019: https://github.com/IndySockets/OpenS...i386-win32.zip

Das ist die letzte, mir bekannte Fassung.
Bislang hat es damit ja auch funktioniert (zumindest bei T-Online, bei Web.DE traten Probleme schon früher auf).
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 17:58
Ist zwar schon ein paar Wochen her, aber könnte es daran liegen? Microsoft liefert Updates gegen SSL-/TLS-Probleme durch Windows-Updates
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TUhr

Registriert seit: 25. Sep 2021
21 Beiträge
 
#5

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 18:00
Hallo Nachbar,

ich sehe nirgends die Definition das beim SMTP (nicht POP) TLS1_2 verwendet wird oder ?

MfG
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#6

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 18:04
Das ist die letzte, mir bekannte Fassung.
Vielleicht hier mal nach einer neueren OpenSSL Version suchen und diesen Pull-Request lesen. Habe es selbst noch nicht getestet, sondern nur die Info gepinnt.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 18:09
Hallo Nachbar,

ich sehe nirgends die Definition das beim SMTP (nicht POP) TLS1_2 verwendet wird oder ?

MfG
Doch: if sPop3SSLVer = 'SSLVTLSV_2' then DMI.SSLIOPOP.SSLOptions.method := sslvTLSv1_2;

sPop3SSLVer hat den Wert so dass als Methode auch sslvTLSV1_2 verwendet wird (wie gesagt, ich kann es beim Debuggen sehen).
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 18:11
Ist zwar schon ein paar Wochen her, aber könnte es daran liegen? Microsoft liefert Updates gegen SSL-/TLS-Probleme durch Windows-Updates
Das wäre aber ein extremer Zufall, wenn das heute bei mir und den Kunden gleichzeitig auftritt (befürchte, werde ab morgen haufenweise Mails bekommen, dass der Mailversand nicht mehr funktioniert)...

Die Meldung ist ja auch schon von Oktober. Dann hätte ich bestimmt schon von Problemen gehört...

Und es geht schon los, habe gerade telefonische Sprechstunde, alle das gleiche Problem....

Geändert von Harry Stahl (17. Jan 2023 um 18:16 Uhr)
  Mit Zitat antworten Zitat
TUhr

Registriert seit: 25. Sep 2021
21 Beiträge
 
#9

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 18:16
Hallo Nachbar,

ich sehe nirgends die Definition das beim SMTP (nicht POP) TLS1_2 verwendet wird oder ?

MfG
Doch: if sPop3SSLVer = 'SSLVTLSV_2' then DMI.SSLIOPOP.SSLOptions.method := sslvTLSv1_2;

sPop3SSLVer hat den Wert so dass als Methode auch sslvTLSV1_2 verwendet wird (wie gesagt, ich kann es beim Debuggen sehen).
Es geht doch um das Senden von Mails und nicht um das Empfangen oder ?
Ich sehe nur das der Empfang auf sslvTLSV1_2 gestellt wird oder ?

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Indy und TLSv2 funktioniert seit heute nicht mehr mit Mailversand

  Alt 17. Jan 2023, 18:31
Hallo Nachbar,

ich sehe nirgends die Definition das beim SMTP (nicht POP) TLS1_2 verwendet wird oder ?

MfG
Doch: if sPop3SSLVer = 'SSLVTLSV_2' then DMI.SSLIOPOP.SSLOptions.method := sslvTLSv1_2;

sPop3SSLVer hat den Wert so dass als Methode auch sslvTLSV1_2 verwendet wird (wie gesagt, ich kann es beim Debuggen sehen).
Es geht doch um das Senden von Mails und nicht um das Empfangen oder ?
Ich sehe nur das der Empfang auf sslvTLSV1_2 gestellt wird oder ?

MfG
Ja, es geht um das Senden und SMTP ist ja senden.

Der Code der danach kommt ist der hier:

Delphi-Quellcode:
if DMI.IdSMTP1.connected = false then begin
        try
          DMI.IdSMTP1.Connect;
        except
          on E: Exception do
          begin
            AnError := True;
            frm_Main.DisPlaySendStatus ('Fehlermeldung des Mailservers (SMTP): ' + hs_IndyError);
            frm_Main.DisplaySendStatus ('Verbindung konnte nicht hergestellt werden.');
            frm_Main.DisplaySendStatus ('Fehlertyp: ' + E.ClassName + ' Meldung: ' + E.Message);
          end;
        end;
      end;
Das Connecten geht noch, aber bei

DMI.IdSMTP1.Send(DMI.IdMessage1); kommen dann die Fehlermeldungen...

T-Online hat ja schon September 2021 TLS 1.1 abgeschaltet, so dass ab da sowieso ja nur noch TLS 1.2 möglich war und das funktionierte ja auch (bis heute).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz