| Odbieranie i wysyłanie maili za pomocą Indy |
|
|
| Napisał: Berl | ||
| czwartek, 06 listopad 2008 | ||
|
W tym artykule zajmiemy się wysyłaniem i odbieraniem emaili za pomocą komponentów Indy. Najpierw musimy dodać na formę następujące komponenty : 1. TMemo - tu będzie treść wysyłanego maila lub odebranego maila 2. TListBox - tu będą nagłówki odebranych maili 3. TEdit - tu będzie adres odbiorcy wysyłanego maila 4. TButton - button do odbierania maili 5. TButton - button do wysyłania maili 6. TIdSMTP - wysyłanie maili 7. TIdPOP3 - odbieranie maili 8. TIdMessage - komponent przechowujący wysyłanego bądź odebranego maila Ustawimy teraz właściwości poszczególnych komponentów : 1 .IdSMTP1 Authentication Type : atLogin Username : nasza nazwa użytkownika Password : nasze hasło Host : nasz serwer smtp 2. IdPOP31 Host : nasz serwer pop3 Password : nasze hasło do tego serwera, zazwyczaj takie samo jak w IdSMTP Username : nazwa użytkownika, zazwyczaj taka sama jak w IdSMTP 3. Button1 Caption : Odbierz 4. Button2 Caption : Wyślij Następnie piszemy obsługę odbierania nagłówków maili, znajdujących się na skrzynce pocztowej. W tym celu do zdarzenia OnClick Buttona1 piszemy: procedure TForm1.Button1Click(Sender: TObject); var i : integer; IloscMaili : integer; begin //łączymy się ze skrzynką IdPOP31.Connect; //sprawdzamy ilość maili na skrzynce IloscMaili := IdPOP31.CheckMessages; //odbieramy nagłówki wszystkich maili for i := 1 to IloscMaili do begin //czyścimy IdMessage IdMessage1.Clear; // odbieramy nagłówek IdPOP31.RetrieveHeader(i, IdMessage1); //dodajemy temat do listy ListBox1.Items.Add(IdMessage1.Subject); end; IdPOP31.Disconnect; end;Jak już odebraliśmy listę maili, to możemy zobaczyć konkretnego maila. W tym celu klikniemy na konkretny temat w ListBoxie, a w Memo1 ma się wyświetlić zawartość tego maila. Piszemy obsługę zdarzenia OnClick dla ListBoxa : procedure TForm1.ListBox1Click(Sender: TObject); begin if ListBox1.ItemIndex > -1 then begin IdPOP31.Connect; IdMessage1.Clear; IdPOP31.Retrieve(ListBox1.ItemIndex + 1, IdMessage1); Memo1.Lines.Add(IdMessage1.Body.Text); IdPOP31.Disconnect; end; end;Zostało jeszcze wysyłanie maili. Treść maila ma znajdować się w Memo1, natomiast w Edit1 wpisujemy adres odiorcy. Piszemy obsługę zdarzenia OnClick dla drugiego Buttona : procedure TForm1.Button2Click(Sender: TObject); begin IdMessage1.Clear; IdMessage1.Body.Add(Memo1.Lines.Text); IdMessage1.Recipients.EMailAddresses := Edit1.Text; IdMessage1.From.Address := 'tu wpisujemy swój adres email dla tego konta, z którego wysyłamy'; IdSMTP1.Connect; IdSMTP1.Send(IdMessage1); IdSMTP1.Disconnect; end;Przykład ten ma obrazować jedynie podstawowe informacje na temat tego, jak wysyłać i dobierać emaile za pomocą komponentów Indy.
Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie. |
||
| dalej » |
|---|




