Пытаюсь организовать из программы получение отчётов, присылаемых как вложение на определённый адрес электронной почты. Т.е., чтобы не через Outlook получать письма, выбирать последние, сохранять вручную вложения в каталог для обработки (автоматизировать этот процесс).
Основа ясна - необходимо настроить TIdPOP3 для соединения с сервером, проверить Connected... Приблизительно думаю сделать так:
procedure TMainForm.CheckMail(User, Pass: string);
var IP:TIdPOP3;
CountMsg, i, j: Integer;
begin
try
IP.Username:=User; //xxx@xxx.xx
IP.Password:=Pass;
IP.Host:=Host; //pop.mail.ru
IP.Port:=110; //порт
IP.Connect;
if IP.Connected
then begin
CountMsg := IP.CheckMessages;
for i := 1 to CountMsg do
begin
IP.Retrieve(i, IdMessage1);
for j := 0 to IdMessage1.MessageParts.Count - 1 do
if (IdMessage1.MessageParts.Items[j] is TIdAttachment)
then TIdAttachment(IdMessage1.MessageParts.Items[j]).SaveToFile('C:\LOAD\'+
TIdAttachment(IdMessage1.MessageParts.Items[j]).FileName);
end;
end;
except
on E:Exception do Result:='Ошибка подключения! '+E.Message;
end;
IP.Disconnect;
end;
Как, для данного примера, организовать сохранение всех наиболее свежих вариантов отчёта в каталог "C:\LOAD\" (отчёты присылаются ежедневно, а, в некоторых случаях, может быть прислано и 2-3 в день)?