ПредишенСледващото

Задача. Дайте възможност на проверка на електронна поща, както и да добавите възможността да проверявате електронната си поща с помощта на SSL (Secure Sockets Layer - нивото на Secure Sockets Layer). Така се определят задачите, които ще се разшири на електронната поща, софтуер за сканиране:

  1. Добави SSL поддръжка за защитена връзка.
  2. Проверка на функционирането на писмото в gmail.com (тя използва SSL) и ukr.net (без кодиране)

Toolkit. Delphi XE, компоненти Indy v10, libeay32.dll Библиотеки и ssleay32.dll
решение:
Предишна част:
Е-мейл средства за сканиране Delphi - част 1
В първата част, която сме създали програма, която проверява пощата директно без подкрепата на криптиране. В тази част ние ще интегрира поддръжка за криптиране. Ние започваме да се приложи.

С цел да бъде в състояние да се използва е необходимо в папката на проекта, за да копирате двата файла и libeay32.dll ssleay32.dll SSL връзка. те вече са изпълнени функционалността, че имаме нужда. libeay32.dll и ssleay32.dll библиотека може да бъде изтеглена от тук.
Отваряне на проект, който е създаден в първата част. Отваряне на основната форма и да се премести в нея IdSSLIOHandlerSocketOpenSSL компонент (фиг. 1). Също така се движи под формата на няколко допълнителни проверки и да ги персонализирате според таблицата. 1.

Фигура 1. Избор на компонент с Tool Palette

Задайте следните опции:

Като резултат, ние получаваме следния формата на Фиг.2, Фиг. 3

Delphi - проверка на електронна поща (част 2)

Delphi - проверка на електронна поща (част 2)
Фиг. 2 Официален старт на програмата

процедура TfrmMain. SetupSSL;
започвам
ако chkUseSSL. Проверени тогава // ако опцията за използване на SSL
започвам
IdPOP3. IOHandler. = SSLHandler; // задаване на SSL манипулатор за да IdPOP3
IdPOP3. UseTLS. = UtUseImplicitTLS; // използва имплицитно TSL
// Задаване на типа на SSL
При cbSSLType. ItemIndex на
0. SSLHandler. SSLOptions. Метод. = SslvSSLv2;
1. SSLHandler. SSLOptions. Метод. = SslvSSLv23;
2. SSLHandler. SSLOptions. Метод. = SslvSSLv3;
3. SSLHandler. SSLOptions. Метод. = SslvTLSv1;
още
повишаване изключение. създавам # 40; "Изберете типа на SSL" # 41; ;
приключи;
край
още
започвам
IdPOP3. IOHandler. = Nil; // ако не използвате SSL - да всички по подразбиране
IdPOP3. UseTLS. = UtNoTLSSupport;
приключи;
приключи;

частен
...
функция CheckMail # 40; IP. TIdPOP3; Потребител. Pass. Водещ. низ; Port. цяло число # 41. String;
процедура SetupSSL;
обществен

За нашата процедура SetupSSL спечелил в съществуващия код - това е необходимо да се добавят призив към функция CheckMail че ние пише в първата част.

...
IP. Port. = Порт; // порт
SetupSSL; // настройка SSL връзка
IP. Свържете; // Connect
...

След това тече и проверка на работата.
Ние проверяваме пощата на gmail.com със следните настройки:

POP3: pop.gmail.com
Порт: 995

Delphi - проверка на електронна поща (част 2)

Фиг. 4 - Е-мейл сканиране gmail.com

Delphi - проверка на електронна поща (част 2)

Фиг. 5 - проверка на електронна поща ukr.net

PS. мейл програма за проверка в Делфи вече работи с SSL поддръжка. Има една несигурност. Програмата показва общия брой на писма, а не броят на нови. Ако имам време ще опиша как да проверите броя на новите съобщения.
libeay32.dll и ssleay32.dll библиотека може да бъде изтеглена от тук.
изходния код на програмата може да бъде изтеглен от GitHub

Свързани теми:

Добър вечер, моля те кажи ми постоянно грешка "Грешка при свързване! Не можа да се зареди SSL библиотека." На Как мога да го оправя?

Не си отивай. кълне в Delphi за IdPOP3.UseTLS: = utUseImplicitTLS;
Казва недекларирани идентификатор: UseTLS. Какво да се прави?
Две DLL изтеглени в папка с проекта.

Възможна използвате различна версия kompoentov версия, защото изглежда да е друг подходящ имот.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!