Hi,
mit der indy pop3 hab ich auch schonmal rumgespielt
Mit IdPOP31.CheckMessages erhälst du die anzahl der emails auf dem server
der index fängt bei 1 an und geht bis IdPOP31.CheckMessages
die schleife musst du nicht pber downto durchgehen den mit IdPOP31.Retrieve(i,IdMessageMail) wird die email nur ausgelesen aber nicht gelöscht. Erst mit IDPop31.Delete(i) wird sie gelöscht.
entgültig werden die emails aber nur gelöscht wenn alle emails aus dem account gelöscht wurden. ist jedenfalls bei meinem email server so.
meine scheiffe sieht so aus :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| for i := 1 to IdPOP31.CheckMessages do begin IdMessageMail.Clear; IdMessageMail.NoDecode := True; IdPOP31.Retrieve(i,IdMessageMail);
Index := MailSubjects.Add(IdMessageMail.Subject);
CheckListBoxMails.Items.Insert(Index,IdMessageMail.From.Address); CheckListBoxMails.Checked[Index] := True;
MailBodys.Insert(Index,TStringlist.Create); TStringlist(MailBodys[Index]).Text := IdMessageMail.Body.Text;
IDPop31.Delete(i); end; |
ich speicher mir alle emails in einer TList
ich hoffe ich konte die etwas helfen
Moderiert von
DeCodeGuru: Code- durch Delphi-Tags versetzt