Ich habe einen offenen Quellcode von CodeProject verwendet, um E-Mails vom Posteingangsserver (POP-Server) zu lesen. Der Code kann an folgender Stelle gefunden werden: http://www.codeproject.com/KB/IP/Pop3MimeClient.aspxE-Mail vom Posteingangsserver (POP) lesen
Bis jetzt funktioniert es gut; Ich kann E-Mails lesen.
Mein Ziel bei der Verwendung dieses Codes war das Abrufen von E-Mails von einem POP-Server und deren Verarbeitung.
Mein Problem ist: Wenn ich Popup-Server von Gmail "pop.gmail.com" benutze und die Anwendung ausführe, erhalte ich nur diejenigen E-Mails, die ich seit dem letzten Ausführen der Anwendung nicht abgerufen habe. Aber wenn ich den POP-Server meines Kunden benutze, wenn ich die Anwendung starte, bekomme ich alle E-Mails auf dem Pop-Server.
Zum Beispiel:
Wenn ich Google Mail-POP-Server verwenden: pop.gmail.com
Ich habe drei E-Mails im Pop-Server. Ich habe die Anwendung nicht ausgeführt. Ich führe die Anwendung zum ersten Mal. Anwendung liest die E-Mail; dieses Mal werde ich alle drei E-Mails bekommen. Ich führe die Anwendung zum zweiten Mal; Meine Anwendung wird dieses Mal keine E-Mails lesen, da ich die 3 bereits gelesen habe. Das ist in Ordnung; Das ist was ich will.
Jetzt sende ich eine E-Mail an pop.gmail.com. Ich führe die Anwendung zum dritten Mal erneut aus; diesmal werde ich nur die gerade eingetroffene E-Mail bekommen, also die vierte. Das ist gutes Benehmen; Das ist was ich will.
Aber wenn ich meine Kunden POP-Server verwenden:
Egal, wie oft ich die Anwendung ausführen, liest sie alle E-Mails in der Mailbox.
Dies wird ein Problem für mich erstellen, weil ich darüber nachdenke, einen Fensterdienst zu erstellen, der E-Mails von Pop-Server lesen und verarbeiten wird. Dieser Dienst wird kontinuierlich ausgeführt. Ich werde E-Mails im POP-Server bearbeiten und dann für etwa 1 Minute schlafen und die E-Mails erneut verarbeiten. Wenn die von CodeProject heruntergeladene Anwendung ständig alle E-Mails liest, kann mein Kundenpostfach in dieser Mailbox wie Tausende von E-Mails haben, also wäre dies für mich nicht machbar.
Gibt es einige Einstellungen, die auf dem POP-Server meines Clients vorgenommen werden müssen, damit meine Anwendung nur die E-Mails abrufen kann, die ich seit der letzten Ausführung des Dienstes nicht gelesen habe?
+1 sehr gute Antwort. – adatapost