Autor Téma: Indy - nastavení POP3 pro příchozí poštu serveru pop3.seznam.cz  (Přečteno 2134 krát)

Offline TLama

  • Guru
  • *****
  • Příspěvků: 597
  • Karma: 31
    • Verze Delphi: 7, 2009, XE3
Zdravím,

mohl by mi prosím někdo poradit, jak nastavit v Indy TIdPOP3 a TIdSSLIOHandlerSocketOpenSSL pro šifrovaný příjem pošty ze serveru pop3.seznam.cz ?
Knihovny libeay32.dll a ssleay32.dll mám na svém místě a nastavení mám momentálně následující:

Kód: Delphi [Vybrat]
  1. object IdPOP31: TIdPOP3
  2.   IOHandler = IdSSLIOHandlerSocketOpenSSL1
  3.   OnConnected = IdPOP31Connected
  4.   AutoLogin = True
  5.   Host = 'pop3.seznam.cz'
  6.   Username = 'mojeadresa@email.cz'
  7.   UseTLS = utUseImplicitTLS
  8.   Password = 'mojeheslo'
  9.   Port = 995
  10.   SASLMechanisms = <>
  11.   Left = 88
  12.   Top = 152
  13. end
  14.  
  15. object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
  16.   Destination = 'pop3.seznam.cz:995'
  17.   Host = 'pop3.seznam.cz'
  18.   MaxLineAction = maException
  19.   Port = 995
  20.   DefaultPort = 0
  21.   SSLOptions.Method = sslvSSLv23
  22.   SSLOptions.Mode = sslmUnassigned
  23.   SSLOptions.VerifyMode = []
  24.   SSLOptions.VerifyDepth = 0
  25.   Left = 256
  26.   Top = 144
  27. end

Událost IdPOP31Connected mi sice vyskočí, ale každé volání IdPOP31.CheckMessages nebo IdPOP31.RetrieveHeader v ní (za použití různých kombinací nastavení) končí buďto vytuhnutím aplikace nebo hláškou Connection closed gracefully.

Nemáte někdo funkční konfiguraci klienta Indy pro pop3.seznam.cz s využitím šifrování ?
Tady je kdyžtak odkaz na nastavení http://napoveda.seznam.cz/cz/email/nastaveni-programu/outlook-a-dalsi-postovni-programy/

Díky
« Poslední změna: 11-12-2012, 15:56:24 od TLama »

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1126
  • Karma: 42
    • Verze Delphi: 7, 2010
zkousel sem pro overeni tento kod a bez problemu ;)

Kód: Delphi [Vybrat]
  1.   IdPOP31.Connect;
  2.   ShowMessage(IntToStr(IdPOP31.CheckMessages));
  3.   IdPOP31.Disconnect;

tohle spis vypada na problem s antivirem nebo knihovnama ...

jakou mas verzi Win, Delphi, Indy, SSL a jaky antivir?

Offline TLama

  • Guru
  • *****
  • Příspěvků: 597
  • Karma: 31
    • Verze Delphi: 7, 2009, XE3
Dosáhl jsem neskonalého pokroku:

Teď mám:
 - Windows 7     64-bit Home Premium Service Pack 1
 - Delphi 2009    Update 3, 4 12.0.3420.21218
 - Indy                dnešní snapshot z SVN
 - SSL                 1.0.1c i386 Win32 (http://indy.fulgan.com/SSL/openssl-1.0.1c-i386-win32.zip)
 - Antivir a FW    jsem dočasně vypnul

Teď jsem pokročil tak, že mi z následujícího kódu vyskočí hláška EConvertError with message '''Hello,'' is not a valid integer value čemuž bych i věřil ;D Takže to vypadá, že si server se mnou chce povídat. Ale jak a proč ? Bych to viděl na špatnou konfiguraci (handshake ?) Fakt ti to s konfigurací komponent, kterou jsem postnul fungovalo ?
Kód: Delphi [Vybrat]
  1. procedure TForm1.IdPOP31Connected(Sender: TObject);
  2. begin
  3.   ShowMessage(IntToStr(IdPOP31.CheckMessages));
  4. end;
« Poslední změna: 30-07-2012, 22:29:38 od TLama »

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1126
  • Karma: 42
    • Verze Delphi: 7, 2010
jj, vzal sem tvuj kod, vlozil do myho formulare a jelo to ;)
divne, ses schopen odkrokovat, kde se tam bere to Hello? Handshake nebude asi ten problem

PS: videl bys snad, ze bych ten kod daval do IdPOP31Connected?
Tak to pekne odstran a pouzij muj mechanizmus ... (nema to tam co delat)

EDIT:
Hello se zobrazuje tim, ze volas funkci uprostred neceho jinyho ...
udalosti v Indy jsou stavove ! (tj. jen pro zobrazeni aktualniho stavu, ne pro volani dalsich kravin)
« Poslední změna: 31-07-2012, 10:28:03 od <z> »