Delphi-Quellcode:
for i := 1 to iMax do begin
aMsg := tIdMessage.Create(NIL);
// Zur Analyse der einzelnen Bestandteile
aMsg.NoDecode := false;
tPopMail.Retrieve(i, aMsg);
aMsg.ProcessHeaders;
// eMail analysieren
for iMp := 0 to aMsg.MessageParts.Count-1 do begin
if aMsg.MessageParts.Items[iMp] is tIdAttachment then begin
// Dateinamen holen
s := (aMsg.MessageParts.Items[iMp] as tIdAttachment).Filename;
if s = ('Zwvsmall.dat') then
begin// Datei speichern wenn Zwvsmall.dat
if FileExists('C:\'+s) then DeleteFile('C:\'+s);
(aMsg.MessageParts.Items[iMp] as tIdAttachment).savetofile('C:\'+s);
end;
end;
end;
// Message-Objekt löschen
aMsg.Free;
end;
mit diesem code hohle ich meine mails ab...es wird kein mailprogramm, sondern soll bloß eine einzige art von mail abhohlen. egal wieviele und wie auch immer geartete mails im postfach liegen, geholt werden soll bloß EINE, und zwar die mit dem Betreff 'XXX'...sind mehrere mit diesem betreff im, postfach, so soll die neueste geholt werden.
Bekomme ich diese Daten, ohne alle mails vorher holen zu müssen? Alle zu holen und dann bloß die gesuchte zu behalten ist nicht der weg, weil in dem postfach schonmal 10mb und mehr sein können..