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.
0
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;