![]() |
|
#1
|
|||
|
|||
![]() Есть 4 e-mail нужно зделать чтоб прога конектилась к каждой поодельности и искала нужное письмо, а потом сохраняла его в файл.
Я пробовал но в меня не получаетса. Последний раз редактировалось Holms, 14.12.2009 в 16:35. |
#2
|
|||
|
|||
![]() Цитата:
Ну ты покажи что пробовал-то? |
#3
|
|||
|
|||
![]() Код:
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, 14.12.2009 в 10:13. |
#4
|
|||
|
|||
![]() Пожалуста помогите очень нужно.
|
#5
|
|||
|
|||
![]() Что выдает-то? Ошибку? Не срабатывает условие?
Если ошибка - напиши текст ошибки, Если не срабатывает, поставь брекпоинты и смотри что выдает и с чем сравниваешь. Попробуй: вместо Код:
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
|
|||
|
|||
![]() Phedor ты немог бы написать мне ету программу??? Просто я в Делфи не очень.....
|
#7
|
|||
|
|||
![]() Ну, идея-то правильная.
Только не совсем понял что ты там делаешь с именем пользователя и паролем. И еще. Я бы выделил проверку ящика в отдельную процедуру с входными логином и паролем. И не понятно что за письмо ты ищешь - отправленное с определенного адреса, что-ли? Я бы сделал как-то так: Код:
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
|
|||
|
|||
![]() lmikle ты немог бы написать мне ету программу??? Просто я в Делфи не очень.....
|
#9
|
|||
|
|||
![]() Не-а... написать готовое - только за деньги.
Помочь и объяснить - тогда бесплатно. |
#10
|
|||
|
|||
![]() За скоко напишеш ету прогу с нуля??
|
#11
|
|||
|
|||
![]() Ты сначала задачу полностью поставь.
Просомтреть POP3 ящики просто. Если они с SSL, то чуть сложнее. А что искать и что с найденным делать - непонятно. |
#12
|
|||
|
|||
![]() Напиши в ICQ : 554104078
|