![]() |
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Wo ist dann das Problem... :gruebel:
|
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Mein eigener Code in #1, der in meinem Programm eingebettet ist, funktioniert aus irgendeinem Grund nicht.
|
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Dann vergleiche noch mal gaaaaaanz genau...
... wie gesagt meist ist es nur eine Kleinigkeit (und die evtl. auch noch an ganz anderer Stelle als vermutet; z.B. wird in ![]() |
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Ich glaube ich konnte das Problem, aber nicht die Ursache finden.
In IdPOP3.Connect:
Delphi-Quellcode:
(IOHandler is TIdSSLIOHandlerSocketBase) Ist im funktionierenden Code wahr, in meinem falsch. Das kann ich mir nicht erklären, da in beiden Codes IdPOP3 der IOHandler IdSSLIOHandlerSocketOpenSSL zugewiesen wird.
if (IOHandler is TIdSSLIOHandlerSocketBase) then begin
case FUseTLS of utNoTLSSupport : begin (IOHandler as TIdSSLIOHandlerSocketBase).PassThrough := true; end; utUseImplicitTLS : begin (IOHandler as TIdSSLIOHandlerSocketBase).PassThrough := False; end else if FUseTLS<>utUseImplicitTLS then begin (IOHandler as TIdSSLIOHandlerSocketBase).PassThrough := true; end; end; end; |
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Erzeugst Du den Handler / Pop3 immer noch händisch oder liegen die Teile auf der Form?
Kann es evtl. sein das Du im Objektinspektor entweder für den die IOHandler- und/oder die POP3- Komponente etwas anderes als die defaultwerte eingetragen hast, die dann im Code von Dir nicht angepasst werden? Also zum Beispiel bei dem IOHandler die zuverwendende IPVersion oder die SSLOptions? Ist UseTLS auf utUseImplicitTLS ??? Zeig doch nochmal den aktuellen Code.... |
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Zitat:
Zitat:
Zitat:
Zitat:
In der unit1.pas:
Delphi-Quellcode:
In Unit1.dfm:
idssliohandlersocketopenssl1 := Tidssliohandlersocketopenssl.Create(nil);
idpop31 := tidpop3.Create(nil); idpop31.Host := server; idssliohandlersocketopenssl1.Host := server; idssliohandlersocketopenssl1.Destination := server +':995'; idpop31.Username := user; idpop31.Password := password; try idpop31.Connect; except on E : Exception do begin Memo1.Lines.Add('ERROR: '+E.Message+' // '+E.ClassName); end; end;
Delphi-Quellcode:
object IdPOP31: TIdPOP3
OnStatus = IdPOP31Status IOHandler = IdSSLIOHandlerSocketOpenSSL1 AutoLogin = True UseTLS = utUseImplicitTLS Port = 995 SASLMechanisms = <> Left = 432 Top = 16 end object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL OnStatus = IdSSLIOHandlerSocketOpenSSL1Status MaxLineAction = maException Port = 995 DefaultPort = 0 SSLOptions.Method = sslvSSLv3 SSLOptions.Mode = sslmUnassigned SSLOptions.VerifyMode = [] SSLOptions.VerifyDepth = 0 OnStatusInfo = IdSSLIOHandlerSocketOpenSSL1StatusInfo Left = 440 Top = 48 end |
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Durch
Delphi-Quellcode:
und
idssliohandlersocketopenssl1 := Tidssliohandlersocketopenssl.Create(nil);
idpop31 := tidpop3.Create(nil);
Delphi-Quellcode:
erzeugst Du meiner Meinung nach zweimal das jeweilige Objekt:
object IdPOP31: TIdPOP3
... object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL ... 1. Beim Initialisieren der Form werden die Objekte erzeugt / initialisiert (mit den Werten aus dem OI) 2. Irgendwann in Deinem Code (k.A. wann genau, da die aufrufende / beinhaltende Funktion nicht zu sehen ist, aber aufjedenfall nach 1.) werden diese quasi nochmals erzeugt / initialisiert (und zwar mit ihren Default :!: -Werten) Hast Du also im OI bestimmte Werte geändert, so sind diese durch die erneute Erzeugung/ Initialisierung verloren bzw. durch die Defaultwerte überschrieben. Dies erklärt warum z.B. die Routine
Delphi-Quellcode:
quasi nie aufgerufen wird (und damit natürlich auch kein Ergebnis liefern kann), da sie im Objekt:
procedure TForm1.IdSSLIOHandlerSocketOpenSSL1StatusInfo(Msg: String);
begin Memo1.Lines.Add('idSSL: ' +Msg); end;
Delphi-Quellcode:
nicht vorhanden / gesetzt ist.
idssliohandlersocketopenssl1 := Tidssliohandlersocketopenssl.Create(nil);
|
Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a
Danke für die Hilfe. Bin mittlerweile auf Delphi 2009 umgestiegen. Funktioniert soweit.
Nur die üblichen paar Bugs :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 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-2025 by Thomas Breitkreuz