![]() |
über pop3 Mails abfragen?
Hi,
ich habe mach ziemlich nah am Indy Beispiel gehalten:
Delphi-Quellcode:
Wo ist mein fehler?
POP.Host:='pop.web.de';
POP.Username:='aaa'; POP.Password:='bbb'; POP.Connect; if pop.Connected then begin i_mails:=POP.CheckMessages; if i_mails > 0 then begin sl_mail:=tstringlist.create; for I := 1 to i_mails do begin Msg.Clear; POP.RetrieveHeader(i,Msg); Msg.MessageParts.Count; for ii := 0 to Pred(Msg.MessageParts.Count) do begin application.processmessages; if Msg.MessageParts.Items[ii] is TIdText then begin // Memo1.Lines.Clear; Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[ii]).Body); end; end; end; end else begin end; end; end; Im Beispiel funktioniert es einwandfrei und bei meinem Code landet in dem Memo nicht! mfg gandime |
Re: über pop3 Mails abfragen?
probier mal das hier.
Delphi-Quellcode:
in deinem Fall wird die schleife ja nicht ausgeführt, wenn Msg.MessageParts.Count = 0 ist.
Msg.MessageParts.Count > 0 then
for ii := 0 to Pred(Msg.MessageParts.Count) do begin application.processmessages; if Msg.MessageParts.Items[ii] is TIdText then begin // Memo1.Lines.Clear; Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[ii]).Body); end; end else begin memo1.Lines.AddString(IdMsg.Body); end; Gruß tr909 |
Re: über pop3 Mails abfragen?
Der Delphi-Debugger eignet sich hierfür hervorragend.
Einfach einen Breakpoint am Anfang der prozedure setzen (zB bei POP.Host:='pop.web.de';), dann das Programm über Delphi starten und die Aktion ausführen das du bei der Procedure landest. Beim Breakpoint wird nun automatisch angehalten und du kannst schrittweise mit F8 die Befehle ausführen. |
Re: über pop3 Mails abfragen?
jetzt hab ich noch nen anderen fehler:
Delphi-Quellcode:
Pred(Msg.MessageParts.Count)=0
for ii := 0 to Pred(Msg.MessageParts.Count) do
vorher wurde aber
Delphi-Quellcode:
ausgelöst
Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[ii]).Body);
ich hab in meiner Procedure schon überall Breakepoints;-) edit:
Delphi-Quellcode:
ich verstehe einfach nicht was ich anders als in der Demo von indy mache....
Msg.Body.count=0
edit2: Fehler gefunden :-D man nehme den Befehl zum mail abfragen :-D
Delphi-Quellcode:
und nicht
POP.Retrieve(i,Msg);
Delphi-Quellcode:
POP.RetrieveHeader(i,Msg);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz