Всем привет!
Есть такая программка, которая будет через imap4 обрабатывать входящие сообщения, и затем удалять.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | var
i: integer ;
begin
IdIMAP41 . Host := 'host' ;
IdIMAP41 . Port := 993 ;
IdIMAP41 . Username := 'login' ;
IdIMAP41 . Password := 'pass' ;
IdIMAP41 . IOHandler := TIdSSLIOHandlerSocketOpenSSL . Create(IdIMAP41);
IdIMAP41 . UseTLS := utUseImplicitTLS;
IdIMAP41 . Connect;
idIMAP41 . SelectMailBox( 'INBOX' );
for i := 1 to IdIMAP41 . MailBox . TotalMsgs do
begin
idIMAP41 . Retrieve(i, idMessage1);
Memo1 . Text := Memo1 . Text+ 'Тема: ' +idMessage1 . Subject+# 13 # 10 + 'Отправитель: ' +idMessage1 . From . Text+# 13 # 10 + 'Сообщение: ' +idMessage1 . Body . Text+# 13 # 10 + '---///---' +# 13 # 10 ;
idIMAP41 . DeleteMsgs(i);
idIMAP41 . ExpungeMailBox;
end ;
IdIMAP41 . Disconnect;
IdIMAP41 . IOHandler . Free;
end ;
end .
|
Как правильно написать код, чтобы письма в ящике обрабатывались последовательно, сначала обработалось первое сообщение, удалилось, а потом переходило ко второму.
Сейчас работает так: обрабатываются первые несколько писем и удаляются, а остальные остаются.