Показать сообщение отдельно
  #7  
Старый 14.12.2009, 20:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, идея-то правильная.
Только не совсем понял что ты там делаешь с именем пользователя и паролем. И еще. Я бы выделил проверку ящика в отдельную процедуру с входными логином и паролем. И не понятно что за письмо ты ищешь - отправленное с определенного адреса, что-ли?

Я бы сделал как-то так:
Код:
type
  TSelectMessage = procedure (Msg : TIdMessage) Of Object;

procedure CheckMailBox(AUser, APass : String; ASelMsg : TSelectMessage)ж
var
  N, I : Integer;
  POP3 : TIdPOP3;
  Msg : TIdMessage;
begin
  Msg := TIdMessage.Create(Nil);
  POP3 := TIdPOP3.Create(Nil);
  Try
     POP3.User := AIser;
     POP3.Password := APass;
     POP3.Connect;
     N := POP3.CheckMessages;
     For I := 1 To N Do
       Begin
          POP3.Retrive(I,Msg);
          ASelMsg(Msg)
       End;
  Finally
    POP3.Free;
    Msg.Free;
  End; 
end;

Ну и теперь эту процку можно вызывать для каждого ящика.
Входная процка ASelMsg - собственно обработчик сообщения, который и принимает решение - то это письмо или нет.
Ответить с цитированием