Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen. (https://www.delphipraxis.net/186897-eidtlsclienttlshandshakefailed-ssl-aushandlung-fehlgeschlagen.html)

akio87 9. Okt 2015 13:59


EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Hallo,

vielleicht könnt ihr mir weiterhelfen :)

ich versende mit folgendem Code mails aus meinem Tool:
Code:
procedure TfmWarenKorb.SendEmail(const Recipients: string; const CCList: string; const Subject: string; const Body: string; Att: Boolean; Filename:String);
var
  SMTP: TIdSMTP;
  Email: TIdMessage;
  SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
  Attachment: TIdAttachment;
  I: Integer;
begin
  SMTP := TIdSMTP.Create(nil);
  Email := TIdMessage.Create(nil);
  SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  SMTP.IOHandler:= SSLHandler;


  try
    SSLHandler.MaxLineAction := maException;
    SSLHandler.SSLOptions.Method := sslvTLSv1;
    SSLHandler.SSLOptions.Mode := sslmUnassigned;
    SSLHandler.SSLOptions.VerifyMode := [];
    SSLHandler.SSLOptions.VerifyDepth := 0;

    SMTP.IOHandler := SSLHandler;
    SMTP.Host := 'smtp.gmail.com';
    SMTP.Port := 587;
    SMTP.Username := 'XXXXX'; // Username
    SMTP.Password := 'XXXXXX'; //Passwort
    SMTP.UseTLS := utUseExplicitTLS;

    if Att = true then
      Attachment := TIdAttachmentFile.Create(Email.MessageParts, Filename);

    Email.From.Address := 'MAILADRESSE'; //Angezeigte Email Adresse
    Email.Recipients.EmailAddresses := Recipients;

    {for I := 0 to ccList.Count-1 do
      begin
        EMail.CCList.Add.Address := CCList.Strings[i]; //StringReplace(CCList,sLineBreak,',',[rfReplaceAll]);
      end; }

    //EMail.CCList.Add.Address := CCList;

    Email.Subject := Subject;
    Email.Body.Text := Body;


    SMTP.Connect;
    SMTP.Send(Email);
    SMTP.Disconnect;

  finally
    if Att = true then Attachment.Free;
    SMTP.Free;
    Email.Free;
    SSLHandler.Free;
  end;
end;

Zuhause funktioniert das senden der Mails, aber sobald ich die Applikation auf einem VServer lege und das Tool von dort aus starte und senden möchte, bekomme ich folgende Fehlermeldung:
"EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen."

Habt Ihr eine Idee, woran es liegt?

akio87 11. Okt 2015 17:26

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Hallo,

hat keiner eine Idee? :/

LG
Karsten

LuckySpacy 23. Jul 2020 14:47

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Ich hatte aktuell genau das gleiche Problem und eine Lösung gefunden.
Deshalb möchte ich, auch wenn die Frage schon 5 Jahre alt ist, darauf antworten.
Vielleicht hat ja noch jemand ein Problem damit.

Also, nachdem ich die aktuelle libeay32.dll und ssleay32.dll in das Exe Verzeichnis kopiert hatte, kam der Fehler nicht mehr und es funktionierte alles.
Das wird auch der Grund sein, warum es bei akio87 zu Hause funktioniert und auf einem VServer nicht.

nikosophi 12. Mai 2023 09:59

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Echt ein Dauerbrenner...

Die zwei DLLs haben bei mir nicht genügt.
Aber: alle DLLs aus dem Verzeichnis in dem ich die beiden gefunden habe -> klappt.
(c:\Program Files (x86)\Embarcadero\Studio\22.0\bin\subversion\)

Welche jetzt genau noch gefehlt hat, habe ich nicht ausprobiert.

stalkingwolf 15. Mai 2023 08:33

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Moin,

ich habe das heute Morgen auch bei einem Kunden bei dem es die ganze Zeit lief.
TLS IMAP Port 143 = "SSL-Aushandlung fehlgeschlagen".

Bei mir bringt das aber nicht wenn ich alle DLLs aus dem Verzeichnis nehme.

Edit : habe auf POP 995 umgestellt nun geht es :-/

himitsu 15. Mai 2023 09:44

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Jo, es kann an einem ungültigen/abgelaufenem SSL-Zertifikat liegen,
aber eigentlich sollte es durch das Deaktivieren der Prüfung umgangen werden.

Bleibt dann noch verwendete/mögliche Version des SSL/TLS, wo beide Seiten nichts gemeinsam haben oder sich durch irgendwas nicht einigen können.
Hier
Delphi-Quellcode:
SMTP.UseTLS := utUseExplicitTLS;
mal was Anderes probiert?

Aber auch IOHandler.SSLOptions.Method bzw. SSLOptions.SSLVersion, sowie SSLOptions.Mode.
Auch mal ein anderer IdSMTP.SASLMechanismus (siehe "SASL" in der Komponentenpalette).
Und IdSMTP.AuthType, IdSMTP.UseTLS, IdSMTP.UseVerp/.ValidateAuthLoginCapability.

Oder Fehler in der Implementation.

Oder ...

lowmax_5 15. Mai 2023 16:20

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Nur mal so als Idee:

Die Provider (Beispiel 1und1/Ionos) schalten Stück für Stück ältere und unsichere Protokolle ab.

Vielleicht mal folgende Zeile prüfen:

Code:
 SSLHandler.SSLOptions.Method := sslvTLSv1;
Und dann mit sslvTLSv1_1 / sslvTLSv1_2 testen.

Dann natürlich den richtigen Port verwenden ;-)

stalkingwolf 16. Mai 2023 07:34

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Moin,

bei meinem Kunden lag es in der Tat am Zertifikat.

Einzig wo ich momentan wirklich massig Probleme habe sind bei den Office365 Kunden. Da geht gar nichts mehr.
Bei einigen kann man mit einem Programmspezifischen Passwort noch per IMAP darauf zugreifen, bei anderen geht gar nichts mehr.

himitsu 16. Mai 2023 08:46

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
Na warten wir mal ab, bis der TE einige der Vorschläge durchprobiert hat. (vom Kunden probieren ließ, bzw. er besorgt sich einen Zugang oder lässt sich vom Kunden einen Testzugang einrichten)

Microsoft ist ein Sonderfall.
Die feiern grade ihren Sieg für ihr Lebenswerk und sind alle noch sturzbesoffen.

https://bigbrotherawards.de/2023
https://www.golem.de/news/big-brothe...04-173814.html
https://www.derstandard.de/story/200...erk-office-365

stalkingwolf 17. Mai 2023 09:08

AW: EIdTLSClientTLSHandShakeFailed : SSL-Aushandlung fehlgeschlagen.
 
also der Hoster von unserem Kunden bei dem es nicht mehr ging ist 1und1.
Ich habe das bei dem Kunden auf sslvTLSv1_2 umgestellt und nun läuft es wieder.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr.
Seite 1 von 2  1 2      

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