Indy pop3 szukanie wiadomości

Odpowiedz Nowy wątek
2011-08-01 17:01
sbs
0

W jaki sposób szybko znaleŹć konkretnego maila znając jego nazwę?
Nie chcę pobierac po kolei każdego maila w całości, a jedynie chce pobierac tylko temat maila bez reszty wiadomości, żeby zaoszczędzic czasu.

Pozostało 580 znaków

2011-08-01 21:44
0

Łap przykład:

var
  i, NumMsgs: integer;
begin
  IdPOP31.Host:= 'pop3.poczta.onet.pl';  //w przykladzie dla onet np. dla gmail 'pop.gmail.com';
  IdPOP31.Port:= 110; //najczesciej 110 ale np. dla gmail 995;
  IdPOP31.Username:= '[email protected]'; //adres emai;;
  IdPOP31.Password:= 'twoje haslo'; //haslo
  //IdPOP31.UseTLS := utUseImplicitTLS; potrzebne np. do gmail
  try
  if not IdPOP31.Connected then
    IdPOP31.Connect; //laczenie
  if IdPOP31.Connected then //czy polaczony
  begin
    NumMsgs:=IdPop31.CheckMessages; //ile maili
    Memo1.Lines.Add( 'Wszystkich Emaili:' +IntToStr(NumMsgs) ); //wpisz do memo dla przykladu
    for i:=1 to NumMsgs do begin
      IdPop31.RetrieveHeader(i, IdMessage1); //odczytaj tylko naglowek (bez tresci)
      Memo1.Lines.Add( 'Numer: '+ IntToStr(i) + //wpisz do memo dla przykladu
                      ' Od: '+ IdMessage1.From.Text +
                      ' Temat: '+ IdMessage1.Subject);
      if (IdMessage1.Subject = 'cos tam') then //czy nazwa (temat) sie zgadza?
      begin
        //tu cos robisz
        break; //dalej nie szukamy
      end;
      idMessage1.Clear; //wyczysc
    end;
    IdPOP31.Disconnect; //rozlacz
  end;
  except
    on e: Exception do
      ShowMessage(E.Message);
  end;
end;

Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 1x, ostatnio: kAzek, 2011-08-01 21:47

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0