Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Прием почты


Автор: Lativ 20.1.2004, 01:00
Поскажите пожалуйста как проверить почтовый ящик на наличие непрочитанных сообщения. Мой вариант:
Код

for i := 1 to idPOP3.CheckMessages do begin
 idPOP3.SendCmd('UIDL '+IntToStr(i), AResponse);// запрос ID текущего письма
  id := idPOP31.CmdResult;//полученный от сервера ответ
  ID_array.Sort;//здесь хранятся IDs прочитанных ранее сообщений
  if not (ID_array.Find(id, Index)) then
    ID_array.Add(id);//добавляю ID(помечаю как прочитанное)
  ...

Но этот вариант очень неоптимален, так как приходится каждый раз вытаскивать по одному ID с сервера и проверять на наличие в моей базе, а полный лист получить не удается, т.к. CmdResult возвращает строку. Может быть есть другие варианты, подскажите. Есть утилита fetchmail, в которой существует нужная мне команда, но как использовать её средствами делфи не знаю
Заранее благодарен

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)