![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Нужно данный код переписать так, чтобы:
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; |