![]() |
SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Hallo,
eine mit Berlin entwickelte App für Windows und Android holt und sendet Mails. Dies funktionierte mit Delphi Berlin einwandfrei, nach Umstieg auf Rio bekomme ich unter Windows Could Not Load SSL Library Fehler und unter Android wird keine Verbindung hergestellt. Am Code der App wurde in dieser Hinsicht nichts verändert, die beiden libcrypto.so und libssl.so aus Cersion 1.02h sind unverändert. Ich habe nicht den geringsten Ansatz, wo ich die Ursache finden könnte! Danke für Tips Ciao Stefan |
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Sind INDY-Komponenten beteiligt? Denn dafür gab es unlängst einen Patch, gerade für das Zusammenspiel mit SSL:
"Web Server applications built with the Indy library (for Windows) are unable to load a SSL certificate. The issue was reported on Quality Portal as RSP-27144" ![]() |
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Zusatzfrage: Lieferst du nach Android-32 aus oder als Bundle nach Android-64 und Android-32? Bei Bundles ist zusätzlich folgender Fix relevant:
![]() und du findest nützliche Infos hier, wie man die Pfade für die SSL-Libraries setzen muss in folgendem Thread ![]() Hier der relevante Part, welchen man aber auch für Android-32-Apps genauso ausprobieren kann:
Delphi-Quellcode:
{$IFDEF ANDROID}
IdOpenSSLSetLibPath(String.Empty); IdSSLOpenSSLHeaders.Load(); error:=IdSSLOpenSSLHeaders.WhichFailedToLoad(); if (length(error)>0) then begin IdOpenSSLSetLibPath(IncludeTrailingPathDelimiter(TPath.GetLibraryPath)); IdSSLOpenSSLHeaders.Load(); error:=IdSSLOpenSSLHeaders.WhichFailedToLoad(); if (length(error)>0) then begin IdOpenSSLSetLibPath(IncludeTrailingPathDelimiter(TPath.GetDocumentsPath)); IdSSLOpenSSLHeaders.Load(); log.d('SSL-Version(3): '+OpenSSLVersion); error:=IdSSLOpenSSLHeaders.WhichFailedToLoad(); if (length(error)>0) then begin log.d('SSL-Errors: '+error); end; end else begin log.d('SSL-Version(2): '+OpenSSLVersion); end; end else begin log.d('SSL-Version(1): '+OpenSSLVersion); end; {$ENDIF} |
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Danke, danke, danke, da habe ich ja erst mal jede Menge zu lesen...
Ich melde mich dann wieder... Ciao Stefan |
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
War es nicht so, dass die neueren Internet-Komponenten im Delphi das SSL vom System (Windows) nutzen?
Sich von Indy zu verabschieden und die neuen im Delphi enthaltenen Komponenten zu nutzen würde dann bedeuten, dass man nicht mehr mit den SSL-DLLs im Indy kämpfen muß. Aber neben Indy verwenden auch DataSnap, InterBase und EMS ebenfalls das OpenSSL. |
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Downloads und Uploads sollte man besser mit den Internet-Komponenten von Delphi durchführen. Die direkte E-Mail-Kommunikation geht damit aber nicht. Hier ist mir auch keine bessere Komponente als die Indy-Implementierung bekannt. Daher gibt es hier eine Abhängigkeit zu OpenSSL.
|
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Zitat:
Außerdem schreibst Du : Zitat:
Ciao Stefan |
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Zitat:
Zitat:
|
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
Ich kenne keine Möglichkeit eine Mail ohne Benutzer-Quittierung zu versenden, außer eben mit Indy.
Und ja, mit den neuen Internet-Komponenten übernimmt das OS immer die SSL-Implementierung, d.h. für Android, wie für iOS, wie für MacOS und Windows (und wahrscheinlich auch Linux). Daher ist dies schon deutlich schicker, als Downloads und Uploads mit Indy durchzuführen. Aber hier geht es eben um Mails und nicht um Downloads und Uploads. |
AW: SSL Mail funktioniert nach Umstellung von Berlin nach Rio nicht mehr
so, folgender Code
Delphi-Quellcode:
bringt in jedem Zweig eine riesen Liste WhichFailedToLoad und ich bekomme weiterhin CouldNotLoadSSLLibrary-Fehler.
{$IFDEF ANDROID}
IdOpenSSLSetLibPath(String.Empty); IdSSLOpenSSLHeaders.Load(); error:=IdSSLOpenSSLHeaders.WhichFailedToLoad(); if (length(error)>0) then begin IdOpenSSLSetLibPath(IncludeTrailingPathDelimiter(TPath.GetLibraryPath)); IdSSLOpenSSLHeaders.Load(); error:=IdSSLOpenSSLHeaders.WhichFailedToLoad(); if (length(error)>0) then begin IdOpenSSLSetLibPath(IncludeTrailingPathDelimiter(TPath.GetDocumentsPath)); IdSSLOpenSSLHeaders.Load(); log.d('SSL-Version(3): '+OpenSSLVersion); error:=IdSSLOpenSSLHeaders.WhichFailedToLoad(); if (length(error)>0) then begin log.d('SSL-Errors: '+error); end; end else begin log.d('SSL-Version(2): '+OpenSSLVersion); end; end else begin log.d('SSL-Version(1): '+OpenSSLVersion); end; {$ENDIF} Unter RadStudio Berlin funktionierte alles problemlos, da muss es doch irgendeinen Unterschied zum neuen Rio geben? Ciao Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz