Verificarea prin e-mail (partea 2)

Sarcina. Extindeți capabilitățile programului de validare a poștei și adăugați capacitatea de a scana poștă utilizând SSL (Secure Sockets Layer). Deci, definim sarcinile care vor extinde programul de validare a mailului:







  1. Adăugați suport SSL pentru conexiuni sigure.
  2. Verificați programul de poștă electronică pe gmail.com (utilizează SSL) și ukr.net (fără criptare)

Toolkit. Delphi XE, componentele INDIA v10, libeay32.dll și ssleay32.dll
soluţie:
Partea anterioară:
Verificarea Mail folosind Delphi - Partea 1
În prima parte, am creat un program care verifică direct corespondența fără suport de criptare. În această parte, integrăm suportul de criptare. Să începem implementarea.

Pentru a putea utiliza o conexiune SSL, trebuie să copiați două fișiere libeay32.dll și ssleay32.dll în dosarul proiectului. au implementat deja funcționalitatea de care avem nevoie. Bibliotecile libeay32.dll și ssleay32.dll pot fi descărcate aici.
Deschidem proiectul, care a fost creat în prima parte. Deschideți formularul principal și mutați componenta IdSSLIOHandlerSocketOpenSSL (figura 1). De asemenea, deplasați unele elemente suplimentare de control în formă și ajustați-le conform tabelului. 1.

Fig.1 Selectarea unei componente cu Paleta de instrumente

Setați următorii parametri:

Ca rezultat, avem următoarea formă: Fig.2, Fig. 3

Verificarea prin e-mail (partea 2)

Verificarea prin e-mail (partea 2)






Fig. 2 Program lansat

procedura TfrmMain. SetupSSL;
începe
dacă chkUseSSL. Se verifică apoi // dacă opțiunea de a utiliza SSL este activată
începe
IdPOP3. IOHandler. = SSLHandler; // setați SSL Handler pentru IdPOP3
IdPOP3. UseTLS. = utUseImplicitTLS; // utilizați TSL implicit
// Setați tipul de SSL
caz cbSSLType. ElementulIndex din
0. SSLHandler. SSLOptions. Metoda. = sslvSSLv2;
1. SSLHandler. SSLOptions. Metoda. = sslvSSLv23;
2. SSLHandler. SSLOptions. Metoda. = sslvSSLv3;
3. SSLHandler. SSLOptions. Metoda. = sslvTLSv1;
altfel
ridicați excepția. crea # 40; "Selectați tipul de SSL" # 41; ;
se încheie;
capăt
altfel
începe
IdPOP3. IOHandler. = nil; // dacă nu folosim SSL - setăm totul ca implicit
IdPOP3. UseTLS. = utNoTLSSupport;
se încheie;
se încheie;

privat
...
funcția CheckMail # 40; IP. TIdPOP3; Utilizator. Pass. Gazdă. șir de caractere; Port. întreg # 41;. string;
procedura SetupSSL;
public

Pentru procedura SetupSSL nostru a câștigat în codul existent - este necesar să se adauge un apel la funcția CheckMail pe care am scris în prima parte.

...
IP. Port. = Port; // port
SetupSSL; // configurați conexiunea SSL
IP. Conectează-te; // connect
...

În continuare începem și verificăm capacitatea de lucru.
Verificăm poșta de pe gmail.com cu următoarele setări:

POP3: pop.gmail.com
Port: 995

Verificarea prin e-mail (partea 2)

Fig. 4 - Verificarea e-mailului gmail.com

Verificarea prin e-mail (partea 2)

Fig. 5 - verificarea mail ukr.net

PS. Programul de verificare a poștei pe Delphi funcționează acum cu suport SSL. Există o incertitudine. Programul arată numărul total de litere, nu numărul de noi. Dacă este timp, voi descrie cum să verificați numărul de litere noi.
Bibliotecile libeay32.dll și ssleay32.dll pot fi descărcate aici.
Codul sursă al programului poate fi descărcat de la GitHub

Subiecte similare:

Bună seara, spune-mi vă rog, există întotdeauna o eroare "Nu am putut încărca biblioteca SSL". Cum se poate remedia aceasta?

Nu iese. Delphi jură la IdPOP3.UseTLS: = utUseImplicitTLS;
Spune un identificator nedeclarat: UseTLS. Ce ar trebui să fac?
Două dll descărcate în dosarul proiectului.

Poate că utilizați o versiune diferită a versiunii componentelor, căutați că ar trebui să existe o altă proprietate potrivită.







Articole similare

Trimiteți-le prietenilor: