Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy pop3 - Ist es eine ungelesene Mail? (https://www.delphipraxis.net/44349-indy-pop3-ist-es-eine-ungelesene-mail.html)

MisterNiceGuy 18. Apr 2005 12:31


Indy pop3 - Ist es eine ungelesene Mail?
 
Hi, ich empfange mit Hilfe der Indy pop3 Komponente meine Mails, leider
weiß ich jetzt nicht ob ich die Mails schon alle gelesen habe.
Kann ich irgendwie herausbekommen ob die Mails noch ungelesen sind?

Danke schonmal :)

SubData 18. Apr 2005 12:55

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Nein das geht nicht.
Ob eine Mail gelesen wurde oder nicht wird in der Software bzw. auf dem Server im WebMail Interface festgehalten und nicht auf dem POP3 Server.
Du kannst das also nur lokal im Programm speicher...

sakura 18. Apr 2005 13:00

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Zitat:

Zitat von MisterNiceGuy
Kann ich irgendwie herausbekommen ob die Mails noch ungelesen sind?

Wie schon geschrieben, nein. Du musst Dir im Client anhand der UID merken, ob diese schon heruntergeladen wurde.

Hinweis aus dem POP3 RTF: Die UID muss nicht eineindeutig sein. Sollte eine Email vom Server gelöscht werden, kann eine neue die gleiche UID erhalten. Es ist Aufgabe des Email-Clients mit dieser Situation zurecht zu kommen.

Ganz theoretisch können zwei Emails sogar gleichzeitig! die gleiche UID nutzen, da das RTF die Möglichkeit anbietet diese UID über einen MD5 (oder andere Hashs) zu generieren. :roll:

...:cat:...

MisterNiceGuy 18. Apr 2005 13:16

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
:pale:

Das macht einem ja Mut...

Vielleicht versuche ich das ganze anhand des Datum festzumachen. Ich sage also nur:

"Sie habe 22 neue mails, davon sind 2 von heute."

Ich meld mich dann nochmal :)

MisterNiceGuy 18. Apr 2005 13:49

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
HM jetzt hab ich das nächste Problem:
Überprüfe ich per:
Delphi-Quellcode:
  j:=0;
  for i:= 1 to pop.CheckMessages do
    begin
      if POP.RetrieveHeader(i, IdMessage1) then
        if idmessage1.date = now then inc(j);
    end;
das Datum der Mail, sagt mir das Programm: 0 Mails von heute.

Weiß einer wie das kommt? Ich habe auf beiden Konten Emails von heute.

Ultimator 18. Apr 2005 13:51

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
now gibt dir das aktuelle Datum mit Uhrzeit zurück (auch Sekunden), und so schnell ist kein Server ud keine Internetverbindung, dass du die Email im Programm hast, sobald der Absender sie verschickt hat ;)

glkgereon 18. Apr 2005 13:57

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
wie wäre das?
Delphi-Quellcode:
if Trunc(idmessage1.date) = Trunc(now) then inc(j);
oder sogar
Delphi-Quellcode:
if Trunc(idmessage1.date) = date then inc(j);

MisterNiceGuy 18. Apr 2005 14:06

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm hab mir jetzt einfach mal ein Datum von einer Mail ausspucken lassen und dabei kam das hier heraus:

sakura 18. Apr 2005 14:10

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Zitat:

Zitat von MisterNiceGuy
Hmm hab mir jetzt einfach mal ein Datum von einer Mail ausspucken lassen und dabei kam das hier heraus:

Dann konnte Indy das Datum nicht ermitteln. Das angezeigte Datum entspricht 0.

...:cat:...

MisterNiceGuy 18. Apr 2005 14:22

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
jap hab ich auch grad gemerkt, ich hab im QT etwas höher die IdMessage ge'cleart' :)

...

So hab's jetzt hinbekommen :) Ich teste jetzt nochmal und dann poste ich samt QT :roll:

Sharky 19. Apr 2005 06:42

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Hai,

wäre es nicht möglich die über die Message-ID zu lösen?
Diese sollte doch für jede eMail einmalig sein.

MisterNiceGuy 19. Apr 2005 14:45

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Hm evtl geht das aber ich hab's jetzt ein wenig anders gelöst.

Hier das Resultat:

EMail Checker

sakura 19. Apr 2005 14:49

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Zitat:

Zitat von Sharky
wäre es nicht möglich die über die Message-ID zu lösen?
Diese sollte doch für jede eMail einmalig sein.

Nein, auch die garantiert leider keine Einmaligkeit. Evtl. im Zusammenhang von MID und UID kommt man nahezu an das Einmalige ran :mrgreen:

...:cat:...

Basilikum 19. Apr 2005 15:16

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Zitat:

Zitat von sakura
Nein, auch die garantiert leider keine Einmaligkeit. Evtl. im Zusammenhang von MID und UID kommt man nahezu an das Einmalige ran :mrgreen:

garantiert wird einem im Internet mit offenen Standards eigentlich prinzipiell nichts.... ;-)

die Message-ID kann durchaus als einmalig betrachtet werden:
Zitat:

Zitat von RFC1036 2.1.5. Message-ID
The Message-ID line gives the message a unique identifier. The Message-ID may not be reused during the lifetime of any previous message with the same Message-ID. (It is recommended that no Message-ID be reused for at least two years.)


sakura 19. Apr 2005 15:23

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Zitat:

Zitat von Basilikum
die Message-ID kann durchaus als einmalig betrachtet werden:

Die Message ID wird entweder vom Client oder vom sendenden Server (bin mir jetzt nicht sicher) erstellt, dass heißt, dass es für diesen einmalig ist... In der Praxis ist diese wohl recht sicher, aber garantieren kannst Du es halt nicht ;-) Zumal, ich habe fast alle Emails seit 1998 gesichert - sind ein paar GB.

...:cat:...

ol1uw 19. Apr 2005 15:49

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
Warum nicht die MessageFlags der Indy's verwenden.
Sollten doch eigentlich von jedem E-Mailclient gesetzt werden

Zitat:

TIdMessageFlags = (mfAnswered, mfFlagged, mfDeleted, mfDraft, mfSeen, mfRecent);
mfAnswered - A reply has been sent for the Message.
mfFlagged - The watch falg has been set for a Message or Message Thread.
mfDeleted - Message has been deleted in the Mailbox.
mfDraft - The Message is a draft and has not been sent.
mfSeen - The message has not been retrieved and read by the mail client.
mfRecent - The message has been added to the mailbox since the last time it was accessed.

Basilikum 19. Apr 2005 16:04

Re: Indy pop3 - Ist es eine ungelesene Mail?
 
die einen MUA generieren eine Message-ID... sofern dies nicht der Fall sein sollte, holen dies die meisten MTA nach...

Da die Message-ID die Form <unique@full_domain_name> hat (gemäss RFC), generieren korrekt konfigurierte MUA/MTA "global unique" Message-IDs (bei full_domain_names wie localhost oder [127.0.0.1] ist natürlich vorbei mit unique).

Meine Erfahrungen in der Praxis bestätigt dies auch:
- die MXe empfangen so gut wie keine Mails ohne Message-ID; eine Ausnahme stellen da Mails generiert von Viren und vereinzelte Spam-Mails dar
- die eingesetzte Software bricht aufgrund der Message-ID allfällige Mail-Loops; sprich, Mails mit bekannter Message-ID werden dropped... dies ist bis anhin jedoch nur bei tatsächlich identischen Mails passiert; also keine Kollision der Message-ID bei unterschiedlichen Mails


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 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