www.mamboteam.com
Project1.pl Advertisement
Start arrow Artykuły arrow Praktyczne wykorzystanie Delphi arrow Odbieranie i wysyłanie maili za pomocą Indy
czwartek, 09 wrzesień 2010
 
 
Menu główne
Start
Artykuły
FAQ
Download
Kontakt
Ciekawe linki
Mapa serwisu
Logowanie





Zapomniałeś hasła?
Nie masz konta? Załóż sobie
Odbieranie i wysyłanie maili za pomocą Indy Drukuj E-mail
Oceny: / 0
KiepskiBardzo dobry 
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.
Komentarze

Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie.
Tylko zarejestrowani użytkownicy mogą pisać komentarze.

 
dalej »
LINKUJ PRO
Gościmy
Odwiedza nas 5 gości
Licznik odwiedzin
117620
 
Góra Góra