AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdPOP3 + SSL: Immer "Connection closed gracefully"
Thema durchsuchen
Ansicht
Themen-Optionen

IdPOP3 + SSL: Immer "Connection closed gracefully"

Offene Frage von "lastwulf"
Ein Thema von lastwulf · begonnen am 25. Mai 2009 · letzter Beitrag vom 28. Mai 2009
Antwort Antwort
Seite 2 von 2     12   
OG Karotte
(Gast)

n/a Beiträge
 
#11

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 27. Mai 2009, 19:18
Wo ist dann das Problem...
  Mit Zitat antworten Zitat
lastwulf

Registriert seit: 9. Dez 2007
10 Beiträge
 
#12

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 27. Mai 2009, 19:20
Mein eigener Code in #1, der in meinem Programm eingebettet ist, funktioniert aus irgendeinem Grund nicht.
  Mit Zitat antworten Zitat
OG Karotte
(Gast)

n/a Beiträge
 
#13

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 27. Mai 2009, 19:30
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 #12 des besagten Threads von Assertor darauf hingewiesen, das gmail nur mit 'utUseImplicitTLS' funktioniert. Ausserdem scheint auch SSLv3 benötigt zu werden).
  Mit Zitat antworten Zitat
lastwulf

Registriert seit: 9. Dez 2007
10 Beiträge
 
#14

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 27. Mai 2009, 19:54
Ich glaube ich konnte das Problem, aber nicht die Ursache finden.
In IdPOP3.Connect:

Delphi-Quellcode:
  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;
(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.
  Mit Zitat antworten Zitat
OG Karotte
(Gast)

n/a Beiträge
 
#15

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 27. Mai 2009, 20:23
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....
  Mit Zitat antworten Zitat
lastwulf

Registriert seit: 9. Dez 2007
10 Beiträge
 
#16

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 27. Mai 2009, 21:15
Zitat von OG Karotte:
Erzeugst Du den Handler / Pop3 immer noch händisch oder liegen die Teile auf der Form?
Liegen in der Form.

Zitat von OG Karotte:
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?
Ja, aber das sind die selben Werte wie im funktionierenden Code


Zitat von OG Karotte:
Ist UseTLS auf utUseImplicitTLS ???
Ja

Zitat von OG Karotte:
Zeig doch nochmal den aktuellen Code....
Ok

In der unit1.pas:
Delphi-Quellcode:
    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;
In Unit1.dfm:

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
  Mit Zitat antworten Zitat
OG Karotte
(Gast)

n/a Beiträge
 
#17

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 28. Mai 2009, 13:37
Durch

Delphi-Quellcode:
idssliohandlersocketopenssl1 := Tidssliohandlersocketopenssl.Create(nil);
    idpop31 := tidpop3.Create(nil);
und

Delphi-Quellcode:
object IdPOP31: TIdPOP3
...
object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
...
erzeugst Du meiner Meinung nach zweimal das jeweilige Objekt:

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:
procedure TForm1.IdSSLIOHandlerSocketOpenSSL1StatusInfo(Msg: String);
begin
Memo1.Lines.Add('idSSL: ' +Msg);
end;
quasi nie aufgerufen wird (und damit natürlich auch kein Ergebnis liefern kann), da sie im Objekt:
idssliohandlersocketopenssl1 := Tidssliohandlersocketopenssl.Create(nil); nicht vorhanden / gesetzt ist.
  Mit Zitat antworten Zitat
lastwulf

Registriert seit: 9. Dez 2007
10 Beiträge
 
#18

Re: IdPOP3 + SSL: Immer "Connection closed gracefully&a

  Alt 28. Mai 2009, 18:14
Danke für die Hilfe. Bin mittlerweile auf Delphi 2009 umgestiegen. Funktioniert soweit.
Nur die üblichen paar Bugs
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 01:44 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