Einzelnen Beitrag anzeigen

Nju

Registriert seit: 16. Jun 2004
41 Beiträge
 
#1

idIMAP: Mail auf dem Server löschen

  Alt 2. Nov 2007, 08:49
Ich habe mal etwas mit der idIMAP-Komponente herumgespielt und kann auch wunderbar per IMAP auf meine Mailbox zugreifen (Es wird mit dem IMap-Server verbunden, die Anzahl der EMails abgefragt und dann von jeder EMail der Betreff in eine Liste hinzugefügt):

Delphi-Quellcode:
IdIMAP41.Host := IMapServer;
IdIMAP41.Username := Benutzername;
IdIMAP41.Password := Kennwort;
IdIMAP41.Connect(True);

IdIMAP41.SelectMailBox('inbox');
lbl_Anzahl.Caption := IntToStr(IdIMAP41.MailBox.TotalMsgs);
  for i := 1 to StrToInt(lbl_Anzahl.Caption) do begin
    IdIMAP41.RetrieveHeader(i, idMessage1);
    box_Mails.Items.Add(idMessage1.From.Text + ': ' + idMessage1.Subject + '[(id:' + IntToStr(i) + ')]');
  end;
So, Problem ist jetzt aber, dass ich keine EMail löschen kann.
Meine Vorgehensweise: Ich benutze die id, welche ich in der Liste mitabgespeichert habe (dies funktioniert, da ich auf diese Weise auch den Body einer Nachricht anzeigen lassen kann):

Delphi-Quellcode:
var
  LoeschID: array[0..0] of LongInt // Die Methode verlangt nach einem statischen Array
begin
  LoeschID := {ID aus der Listbox}
  IdIMAP41.DeleteMsgs(LoeschID);
end;
Was mache ich falsch?
  Mit Zitat antworten Zitat