Delphi - mail ellenőrzés (1. rész)
A feladat. Írjon be egy alkalmazást, amelynek segítségével ellenőrizheti az e-mail üzenetek jelenlétét. Először is a következő részfeladatokat oldjuk meg:
- Ellenőrizze az e-mail üzeneteket;
- Képesség beállítani az e-mail ellenőrzésének időtartamát;
- Értesítések kimenete, ha vannak üzenetek;
Toolkit. Delphi, INDY komponensek
Olyan cikkeket kezdem, amelyek középpontjában az e-mail kliens létrehozása az Indy-komponensek használatával történik.
- Ellenőrizze az e-mail üzeneteket;
- Képesség beállítani az e-mail ellenőrzésének időtartamát;
- Értesítések kimenete, ha vannak üzenetek;
Miután eldöntötte a cselekvési tervet - folytatjuk a következő lépést - a teremtés. Hozzon létre egy új projektet, és helyezze az idPOP3 összetevőt az űrlapra. amely az IndyClients lapon található.
Annak érdekében, hogy ellenőrizzük az e-mailt, meg kell adnunk néhány paramétert az idPOP3 komponenshez a kapcsolat megadásához, nevezetesen:
A GroupBox összetevőt az űrlapon a Szabványos lapon helyezzük el a mezők csoportosításához. Annak érdekében, hogy a program "rugalmasabb" legyen - 4 komponenst szerkesztünk és címkéket készítünk. ezek a Standard fülön vannak. Az összetevők tulajdonságait az 1. táblázatban foglaljuk össze.
Ennek eredményeképpen az ablak következő képét kapjuk (2. ábra):
Ábra. 2 - Levélküldés - Formanyomtatvány
Írjuk le az időzítő értékek hozzárendelésének funkcióját, aktiváljuk és megjelenítsük a megfelelő üzeneteket a ResultMemo-hoz.
Ezt a funkciót a fő formátum privát részében deklarálja:
magán
funkció StartTimer # 40; T. TTimer; int. egész szám # 41;. string;
Ezután hozza létre a kódot az esemény onClick OkButton gombot (az esemény létrehozása kell duplán kattintani a gombra, vagy menjen az Object Inspector, nyissa meg a lapot események olvasása, majd kattintson duplán az üres mező neve mellett onClick): Miután létrehozta események automatikusan generálja a következő kód:
eljárás TMainForm. OkBtnClick # 40; Feladónak. TObject # 41; ;
kezdődik
végén;
A korábban írott függvényt használjuk, ezért átadjuk a szükséges paramétereket:
eljárás TMainForm. OkBtnClick # 40; Feladónak. TObject # 41; ;
kezdődik
ResultMemo. Vonalak. hozzáad # 40; StartTimer # 40; CheckTimer. StrToInt # 40; IntervalEdit. szöveg # 41; # 41; # 41; ;
végén;
Nézzünk részletesebben: ResultMemo.Lines.Add (); - hozzáadunk egy bejegyzést a ResultMemo-ban, amelyet az általunk írt eljárás visszaküldi
StartTimer # 40; CheckTimer. StrToInt # 40; IntervalEdit. szöveg # 41; # 41;.
És a fő forma privát részében deklarálja:
magán
.
CheckMail funkció # 40; IP. TIdPOP3; Felhasználó. Pass. Host. string; Port. egész szám # 41;. string;
eljárás TMainForm. CheckTimerTimer # 40; Feladónak. TObject # 41; ;
kezdődik
ResultMemo. Vonalak. hozzáad # 40; CheckMail # 40; IdPOP31. AdressEdit. Szöveg. PassEdit. Szöveg. Pop3Edit. Szöveg. StrToInt # 40; PortEdit. szöveg # 41; # 41; # 41; ;
végén;
Most nézd, mi történt, minden mezőt töltsön ki (a beállításokat leveleket fogadó, akkor vegye fel e-mail szerverek, ahol regisztrált postafiókot) (3. ábra):
Ábra. 3 - Levélküldés - Formanyomtatvány
A tesztelés sikeres volt. Ma megpróbálom tesztelni más levelező szervereken.
PS. Ha vannak kívánságok - írj, örömmel fogok hallgatni és lehetőség szerint végrehajtani.
Folytatás:
A levelek ellenőrzése a Delphi használatával - 2. rész
A program forráskódja letölthető a GitHub-ból