Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.12.2009, 00:37
Holms Holms вне форума
Прохожий
 
Регистрация: 13.12.2009
Сообщения: 7
Репутация: 10
По умолчанию Прошу помочь

Есть 4 e-mail нужно зделать чтоб прога конектилась к каждой поодельности и искала нужное письмо, а потом сохраняла его в файл.

Я пробовал но в меня не получаетса.

Последний раз редактировалось Holms, 14.12.2009 в 16:35.
Ответить с цитированием
  #2  
Старый 14.12.2009, 01:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Holms
Есть 4 e-mail нужно жделать что б прога конектилась к каждой поодельности и искала нужное письмо, а потом сохраняла его в файл.

Я пробовал но в меня не получаетса.

Ну ты покажи что пробовал-то?
Ответить с цитированием
  #3  
Старый 14.12.2009, 08:15
Holms Holms вне форума
Прохожий
 
Регистрация: 13.12.2009
Сообщения: 7
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
IdPOP31.Username:=Copy(ListBox1.Items[0],1,Pos(';',ListBox1.Items[0])-1);
IdPOP31.Password:=Copy(ListBox1.Items[0],Pos(';',ListBox1.Items[0])+1,Length(ListBox1.Items[0])-Pos(';',ListBox1.Items[0]));
IdPOP31.Connect();
IdMessage1.Clear;
IdPOP31.Retrieve(i,IdMessage1);
for i:=1 to IdPOP31.CheckMessages do
IdPOP31.Retrieve(i,IdMessage1);
If POS (Edit1.text,IdMessage1.From.Address)=1 then
memo1.Lines.add(IdMessage1.Body.Text)
else showmessage('lol')
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 14.12.2009 в 10:13.
Ответить с цитированием
  #4  
Старый 14.12.2009, 18:22
Holms Holms вне форума
Прохожий
 
Регистрация: 13.12.2009
Сообщения: 7
Репутация: 10
По умолчанию

Пожалуста помогите очень нужно.
Ответить с цитированием
  #5  
Старый 14.12.2009, 18:35
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

Что выдает-то? Ошибку? Не срабатывает условие?
Если ошибка - напиши текст ошибки,
Если не срабатывает, поставь брекпоинты и смотри что выдает и с чем сравниваешь.

Попробуй:
вместо
Код:
If POS (Edit1.text,IdMessage1.From.Address)=1 then
memo1.Lines.add(IdMessage1.Body.Text)
else showmessage('lol')

Поставь
Код:
Memo1.Lines.Add(copy(IdMessage1.From.Address, 1, length(Edit1.Text))+'<=>'+Edit1.Text

Будет видно что с чем сравнивается

Последний раз редактировалось Phedor, 14.12.2009 в 18:44.
Ответить с цитированием
  #6  
Старый 14.12.2009, 19:43
Holms Holms вне форума
Прохожий
 
Регистрация: 13.12.2009
Сообщения: 7
Репутация: 10
По умолчанию

Phedor ты немог бы написать мне ету программу??? Просто я в Делфи не очень.....
Ответить с цитированием
  #7  
Старый 14.12.2009, 20:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, идея-то правильная.
Только не совсем понял что ты там делаешь с именем пользователя и паролем. И еще. Я бы выделил проверку ящика в отдельную процедуру с входными логином и паролем. И не понятно что за письмо ты ищешь - отправленное с определенного адреса, что-ли?

Я бы сделал как-то так:
Код:
type
  TSelectMessage = procedure (Msg : TIdMessage) Of Object;

procedure CheckMailBox(AUser, APass : String; ASelMsg : TSelectMessage)ж
var
  N, I : Integer;
  POP3 : TIdPOP3;
  Msg : TIdMessage;
begin
  Msg := TIdMessage.Create(Nil);
  POP3 := TIdPOP3.Create(Nil);
  Try
     POP3.User := AIser;
     POP3.Password := APass;
     POP3.Connect;
     N := POP3.CheckMessages;
     For I := 1 To N Do
       Begin
          POP3.Retrive(I,Msg);
          ASelMsg(Msg)
       End;
  Finally
    POP3.Free;
    Msg.Free;
  End; 
end;

Ну и теперь эту процку можно вызывать для каждого ящика.
Входная процка ASelMsg - собственно обработчик сообщения, который и принимает решение - то это письмо или нет.
Ответить с цитированием
  #8  
Старый 14.12.2009, 20:56
Holms Holms вне форума
Прохожий
 
Регистрация: 13.12.2009
Сообщения: 7
Репутация: 10
По умолчанию

lmikle ты немог бы написать мне ету программу??? Просто я в Делфи не очень.....
Ответить с цитированием
  #9  
Старый 14.12.2009, 21:01
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не-а... написать готовое - только за деньги.
Помочь и объяснить - тогда бесплатно.
Ответить с цитированием
  #10  
Старый 14.12.2009, 21:02
Holms Holms вне форума
Прохожий
 
Регистрация: 13.12.2009
Сообщения: 7
Репутация: 10
По умолчанию

За скоко напишеш ету прогу с нуля??
Ответить с цитированием
  #11  
Старый 14.12.2009, 21:05
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ты сначала задачу полностью поставь.
Просомтреть POP3 ящики просто. Если они с SSL, то чуть сложнее.
А что искать и что с найденным делать - непонятно.
Ответить с цитированием
  #12  
Старый 14.12.2009, 21:08
Holms Holms вне форума
Прохожий
 
Регистрация: 13.12.2009
Сообщения: 7
Репутация: 10
По умолчанию

Напиши в ICQ : 554104078
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:18.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025