Нужно данный код переписать так, чтобы:
1. есть список майлов (txt)
оформлены они таким образом:
mail;pass
mail2;pass2
2. Нужно чтобы программа заходила на почту на каждый из майлов, проверяла почту на наличие письма, переходила по ссылке в письме, и так на следующий.
Собственно код, его нужно подредактировать.
Код:
procedure TForm1.ActivateClick(Sender: TObject);
var
NumOfMsgs, mailcicl:Integer;
find:boolean;
link:string;
begin
IdPOP31.Username:=login+'@rambler.ru';
IdPOP31.Password:=pass;
IdPOP31.Host:='pop.rambler.ru';
IdPOP31.Port:=110;
try
IdPOP31.Connect;
if IdPOP31.Connected then
begin
NumOfMsgs := idpop31.CheckMessages;
Memo1.Lines.Add('Подключение к почте прошло успешно');
Memo1.Lines.Add(IntToStr(NumOfMsgs)+' сообщений');
find:=false;
mailcicl:=1;
while not(find) and (mailcicl<=NumOfMsgs) do
begin
IdMessage1.Clear;
IdPOP31.RetrieveHeader(mailcicl, IdMessage1);
if Pos('емайл', IdMessage1.From.Text)<>0 then
begin
find:=true;
IdPOP31.Retrieve(mailcicl,IdMessage1);
Memo1.Lines.Add('Найдено письм');
link:=Copy(IdMessage1.Body.Text, Pos('http', IdMessage1.Body.Text), 82);
IdPOP31.Delete(mailcicl);
IdHTTP1.Get(link);
IdHTTP1.Get('линк');
IdHTTP1.Get('линк');
Data:=TStringList.Create;
Data.Add('act=no_hash');
Data.Add('al=1');
Data.Add('full=1');
IdHTTP1.post('линк', Data);
Data.Clear;
Data.Add('act=reg_step');
Data.Add('al=1');
Data.Add('full=1');
Data.Add('step=1');
S:=IdHTTP1.post('линк', Data);
Data.Free;
link:=Copy(S, Pos('finish&hash', S)+12, 18);
try
IdHTTP1.Get('линк);
except
end;
Memo1.Lines.Add('УРА :)');
Activate.Default:=false;
Activate.Enabled:=false;
GetRamblerCaptcha.Default:=true;
end;
inc(mailcicl);
end;
if not(find) and (NumOfMsgs>0) then Memo1.Lines.Add('Письма нет');
end
except
// on E:Exception do Memo1.Lines.Add('Ошибка подключения! '+E.Message);
end;
IdPOP31.Disconnect;
end;
мой icq для связи 1664288 =)