Показать сообщение отдельно
  #1  
Старый 29.11.2010, 10:18
MrDiG MrDiG вне форума
Начинающий
 
Регистрация: 05.10.2010
Сообщения: 112
Репутация: 1227
По умолчанию idPOP3 - все письма в файл

Задача зарегистрировать много аккаунтов на одном сервере. Проблема в подтверждении регистрации. Поднял на одном из своих сайтов сборщик почты со всех адресов вида chto_ugodno@mysite.ru на odin_yaschik@mail.ru. При регистрации буду указывать не существующие адреса на своём сервере, и в итоге получу все ссылки на активацию в письмах на одном ящике.

Встаёт задача - собрать все письма в один файл, или ещё куда и выдрать ссылки. В письме приходят три ссылки - две справочные одинаковые для всех и третья - нужная ссылка активации. Когда ссылки будут получены - достаточно будет чекнуть на дубли, убрать две лишних и пройтись по ним через idHTTP.Get или тупо WebBrowser'ом.

Код:
var
  NumOfMsgs:Integer; // Количество писем
begin
try
  IdPOP31.Username:=Edit1.Text; // адрес электронной почты в формате (xxx@xxx.xx)
  IdPOP31.Password:=Edit2.Text; //  пароль к данному почтовому ящику
  IdPOP31.Host:=Edit3.Text;     // POP3 сервер (pop.mail.ru; pop3.ukr.net)
  IdPOP31.Port:=StrToInt(Edit4.Text);     // порт

  IdPOP31.Connect;     // подключаемся
  if IdPOP31.Connected then       // если подключение прошло успешно
  begin
    NumOfMsgs := idpop31.CheckMessages;      //  записываем в NumOfMsgs количество писем
    // выводим сообщения в Мемо
    Memo1.Lines.Add('Подключение прошло успешно!');
    Memo1.Lines.Add('У вас '+IntToStr(NumOfMsgs)+' сообщений');
  end
except  // Если произошла ошибка- выводим её в Memo1
  on E:Exception do Memo1.Lines.Add('Ошибка подключения! '+E.Message);
end;

  IdPOP31.Disconnect;       // Для отключения
end;

Допустим выше подключение к моему ящику. А как скачать все письма в файл?

И ещё я знаю, что у Embedded Webbrowser есть возможность выдирать ссылки. Кто-то может дать пример? Впрочем собрать ссылки из файла можно много чем и это совсем не проблема.
Ответить с цитированием