AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Löschen von e-Mails mit Indy
Thema durchsuchen
Ansicht
Themen-Optionen

Löschen von e-Mails mit Indy

Ein Thema von r_kerber · begonnen am 16. Nov 2003 · letzter Beitrag vom 16. Nov 2003
Antwort Antwort
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#1

Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 14:06
Hallo,

sicher kennen viele hier den Magic Mail Monitor (Magic Mail Monitor v2.9). Ich versuche zur Zeit mal ein ähnliches Programm mit Delphi unter Verwendung der Indy-Komponenten zu erstellen. Gleich vorweg, ich will dem Programm keine Konkurrenz. Allein schon die geringe Größe ist mit VCL-Programmierung nicht zu erreichen!
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?
  Mit Zitat antworten Zitat
Benutzerbild von moin339
moin339

Registriert seit: 23. Sep 2002
Ort: Hamburg
136 Beiträge
 
#2

Re: Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 14:12
speicher doch einfach das datum und den Titel der zu löschenden Nachricht und such beim zweiten durchgang dannach.

ciao, moin339
  Mit Zitat antworten Zitat
PeterRettig

Registriert seit: 4. Jun 2003
Ort: Schleiz
65 Beiträge
 
Delphi 4 Client/Server
 
#3

Re: Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 14:19
Hi,

nein nicht Datum und Titel sondern die MessageID ist entscheidend!

Ciao Peter
Warum kann man Atommüll nicht auf dem Mars lagern?
Mars bringt verbrauchte Energie sofort zurück!
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#4

Re: Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 14:31
Hallo Peter,

Zitat von PeterRettig:
nein nicht Datum und Titel sondern die MessageID ist entscheidend!
Das sehe ich auch so. Danke.
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#5

Re: Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 14:52
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...
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#6

Re: Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 15:30
Zitat von Basilikum:
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...
Meinst du jetzt mit [Message-ID] die fortlfd. Nummer oder wirklich die Message-ID? Dann wäre das ganze ja doch wieder mühselig
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'];
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#7

Re: Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 15:39
geht noch einfacher:
MsgID := IdMessage1.MsgId;
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#8

Re: Löschen von e-Mails mit Indy

  Alt 16. Nov 2003, 15:51
Zitat von scp:
Zitat von Basilikum:
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...
Meinst du jetzt mit [Message-ID] die fortlfd. Nummer oder wirklich die Message-ID? Dann wäre das ganze ja doch wieder mühselig
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.
neeee... mit [Message-ID] meinte ich schon die fortlaufende....

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz