Delphi - перевірка пошти (частина 1)

Завдання. Написати програму за допомогою якого буде можливість перевіряти наявність поштових повідомлень. Для початку вирішимо наступні підзадачі:

  1. Перевірка пошти на наявність повідомлень;
  2. Можливість завдання періоду перевірки пошти;
  3. Висновок повідомлень за наявності будь-яких повідомлень;

Інструментарій. Delphi, компоненти INDY

Я починаю цикл статей які спрямовані на роботу зі створення поштового клієнта за допомогою компонентів Indy.

  1. Перевірка пошти на наявність повідомлень;
  2. Можливість завдання періоду перевірки пошти;
  3. Висновок повідомлень за наявності будь-яких повідомлень;

Раз визначилися з планом дій - приступимо до наступного етапу - створення. Створюємо новий проект, і розміщуємо на формі компонент idPOP3. який знаходитися на закладці IndyClients.

Для того щоб перевірити пошту нам необхідно передати компоненту idPOP3 деякі параметри для підключення, а саме:

Розміщуємо на формі компонент GroupBox з вкладки Standard - для групування полів. Для того щоб програма була більш «гнучкої» - помістимо 4 компонента Edit і Label. вони знаходяться на закладці Standard. Встановимо властивості компонентів, як показано в табл.1.

В результаті ми отримаємо такий вигляд вікна (Рис.2.):

Delphi - перевірка пошти (частина 1)

Мал. 2 - Відправка пошти - Дизайн форми

Напишемо функцію присвоєння значень таймера, його активацію і висновок відповідних повідомлень в ResultMemo.

Оголосивши цю функцію в приватній секції головної форми:

private

function StartTimer # 40; T. TTimer; int. Integer # 41 ;. string;

Далі створимо код для події onClick кнопки OkButton (для того щоб створити цю подію необхідно два рази клікнути на кнопку, або перейти в Object Inspector, відкрити закладку Events, і два рази клікнути по порожньому полю біля назви onClick): Після створення події автоматично згенерує наступний код:

procedure TMainForm. OkBtnClick # 40; Sender. TObject # 41; ;
begin
end;

Використовуємо раніше написану функцію, для цього передамо необхідні параметри:

procedure TMainForm. OkBtnClick # 40; Sender. TObject # 41; ;
begin
ResultMemo. Lines. Add # 40; StartTimer # 40; CheckTimer. StrToInt # 40; IntervalEdit. Text # 41; # 41; # 41; ;
end;

Розглянемо більш детально: ResultMemo.Lines.Add (); - додаємо запис в ResultMemo яку повертає написана нами процедура

StartTimer # 40; CheckTimer. StrToInt # 40; IntervalEdit. Text # 41; # 41 ;.

І оголосимо її в приватній секції головної форми:

private
.
function CheckMail # 40; IP. TIdPOP3; User. Pass. Host. string; Port. Integer # 41 ;. String;

procedure TMainForm. CheckTimerTimer # 40; Sender. TObject # 41; ;
begin
ResultMemo. Lines. add # 40; CheckMail # 40; IdPOP31. AdressEdit. Text. PassEdit. Text. Pop3Edit. Text. StrToInt # 40; PortEdit. Text # 41; # 41; # 41; ;
end;

Тепер подивимося що ж вийшло, заповнюємо всі поля (настройки для отримання пошти можна взяти на поштових серверах, де у вас зареєстрований поштовий ящик) (Рис.3):

Delphi - перевірка пошти (частина 1)

Мал. 3 - Відправка пошти - Дизайн форми

Тестування пройшло успішно. Сьогодні спробую протестувати на інших поштових серверах.

PS. Якщо є побажання - пишіть, із задоволенням вислухаю і по можливості реалізую.
продовження:
Перевірка пошти засобами Delphi - частина 2

Вихідні тексти програми можна завантажити на GitHub

Схожі статті