![]() |
Löschen von e-Mails mit Indy
Hallo,
sicher kennen viele hier den Magic Mail Monitor ( ![]() Das Abholen der e-Mail-Headerist kein Problem. Ich bin jetzt beim Thema e-Mails löschen. Eigentlich auch kein größerer Akt, solange ich die Verbindung zum POP3-Server nicht trenne. TIdPOP3 hat eine Methode Delete. Man übergibt einfach die laufende Nummer und schon ist die entsprechende Nachricht markiert und beim Trennen der Verbindung gelöscht. So weit so gut. Ich möchte jetzt aber erst die Nachrichten herunterladen und dann die zu löschenden Nachrichten offline markieren. Dabei kann ich doch sicher nicht davon ausgehen, dass die Nachrichten wieder in der selben Reihenfolge heruntergeladen werden, oder? |
Re: Löschen von e-Mails mit Indy
speicher doch einfach das datum und den Titel der zu löschenden Nachricht und such beim zweiten durchgang dannach.
ciao, moin339 |
Re: Löschen von e-Mails mit Indy
Hi,
nein nicht Datum und Titel sondern die MessageID ist entscheidend! Ciao Peter |
Re: Löschen von e-Mails mit Indy
Hallo Peter,
Zitat:
|
Re: Löschen von e-Mails mit Indy
oder aber die UID (Unique-ID)... diese muss nicht mühsehlig aus dem Header entnommen werden, sondern kann direkt per POP3-Kommando (UIDL [Message-ID]) angeforder werden... der POP3-Server ist verantwortlich, dass diese UID über mehrer Logins hinweg identisch ist/bleibt...
|
Re: Löschen von e-Mails mit Indy
Zitat:
Ausserdem habe ich schlechte Erfahrungen mit UIDs, bei GMX ist es zumindest bei IMAP so, das die UIDs identisch zur temporären fortlfd. Nummer sind. PS: So mühselig ist es gar nicht:
Delphi-Quellcode:
IdPOP31.RetrieveHeader(CurNo, IdMessage1);
MsgID := IdMessage1.Headers.Values['Message-ID']; |
Re: Löschen von e-Mails mit Indy
geht noch einfacher:
Delphi-Quellcode:
MsgID := IdMessage1.MsgId;
|
Re: Löschen von e-Mails mit Indy
Zitat:
mühselig in dem Sinne, als dass bei jedem Mail der Header heruntergeladen werden muss... was bei Modem oder ausgelastetem Server recht lange dauern kann... deshalb wäre die Verwendung von UID besser... gemäss RFC 1939: "[..] The unique-id of a message is an arbitrary server-determined string, [..] which uniquely identifies a message within a maildrop and which persists across sessions. This persistence is required even if a session ends without entering the UPDATE state. [..]".
Code:
STAT
+OK 3 5667 LIST +OK List of messages: 3 message(s), 5667 bytes 1 3179 2 880 3 1608 . UIDL +OK List of unique ids: 3 message(s), 5667 bytes 1 JECJGECPABJC 2 JECPOFAKABJJ 3 JEDCLFFOABJL . LIST 2 +OK 2 880 UIDL 2 +OK 2 JECPOFAKABJJ QUIT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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