![]() |
IMAP Flags setzen aber wie?
Hallo liebe DP User,
ich habe ein kleines Problem. Ich habe einen IMAP Ordner welche ich auf neue Emails prüfe. Leider denkt er das immer alle Neu sind was ja leider Falsch ist. Und zwar würde ich gerne alle Emails welche noch nicht gelesen wurden verarbeiten und diese dann als gelesen markieren. Und damit müsste es auch OK sein das alle die einen Flag "gelesen" haben nicht mehr verarbeitet werden, oder? Hier mal mein Quellcode welchen ich für die IMAP Geschichte verwende:
Delphi-Quellcode:
Danke im Voraus für Vorschläge.
//Zur Erklärung aImap : TIdIMAP4;
//mcount : Integer if aImap.SelectMailBox('INBOX') then begin mcount := aImap.MailBox.TotalMsgs; for z := 0 to mcount -1 do begin IdMessage := TIdMessage.Create(nil); try aImap.GetUID(z+1, aUID); aImap.UIDRetrieveFlags(aUID, Flags); aImap.UIDRetrieve(aUID, idMessage); if not (mfSeen in Flags) then begin //Verarbeitung was geschehen soll.......... //Hier muss die Flag gesetzt werden, dass die Email gelesen wurde......... //Meine Ansätze mit aImap.StoreFlags() und aImap.UIDStoreFlags() hat leider nicht funktioniert! //bei folgendem Versuch aImap.UIDStoreFlags(aUID, sdreplace, Flags); werden alle Emails als nicht gelesen markiert!!! end; finally FreeAndNil(idMessage); end; end; end; Grüße Ralf |
Re: IMAP Flags setzen aber wie?
Bei mir klappt das einwandfrei. Dreh doch mal die Zeilen:
aImap.UIDRetrieveFlags(aUID, Flags); aImap.UIDRetrieve(aUID, idMessage); in aImap.UIDRetrieve(aUID, idMessage); aImap.UIDRetrieveFlags(aUID, Flags); Vielleicht setzt das UIDRetrieve die Flags wieder zurück. Habe aber nicht nachgeschaut. Wo wird die Variable aUID initialsiert? |
Re: IMAP Flags setzen aber wie?
Hallo Gerd,
mit Retrieve erhälst Du ja nur die Flags. Das klappt bei mir auch einwandfrei. Aber das setzen geht leider nicht also UIDSToreFlags() dat geht net. Und jetzt habe ich mal ne neue IndyVersion genommen da geht es leider auch nicht! Sogar beim RetrieveFlags schmeißt er jetzt schon Fehler raus. Also irgendwo steckt der Teufel hier im Detail! Also nach meiner Meinung nach zu 99% ein Bug in der Compo!!!! Grüße Ralf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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