Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern? (https://www.delphipraxis.net/195780-indy-loescht-die-abgerufen-email-vom-server-selbststaendig-kann-man-das-verhindern.html)

Kostas 25. Mär 2018 17:03

Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern?
 
Hallo Zusammen,

In einem Delphi Berlin Projekt hab eich einen pop3 Client der per Indy die Emails abruf vom Server mittels
Delphi-Quellcode:
idPOP.Retrieve(i,Msg);
Ich kann auf das Msg Object zugreifen und die komplette Email behandeln. Nach dem behandeln möchte ich eigentlich selbst die Email vom Server löschen mittels
Delphi-Quellcode:
idPOP.Delete(i);
Manche Email sollen weiter besteht auf dem Server. Ich habe keine Möglichkeit gefunden das automatische Löschen zu unterbinden.
Hat jemand eine Idee?

Gruß Kostas

Zacherl 25. Mär 2018 17:08

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
War es nicht so, dass bei Verwendung von POP (im Gegensatz zu IMAP) die Nachrichten zwangsweise gelöscht wurden?

Kostas 25. Mär 2018 18:15

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
In Thunderbid kann ich einstellen das die Email auf dem Server belassen werden sollen und das funktioniert auch. Das habe ich gerade getestet.
Mit Indy 9 ging das auch über das property
Delphi-Quellcode:
NMPOP31.DeleteOnRead := FALSE;
.

Gruß Kostas

HolgerX 25. Mär 2018 18:41

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
Hmm..

Dir ist bewusst, das NMPop3 <> IdPop3?


Aber könnte es sein, dass es eher an einer Konfiguration des Servers liegt?


Hier gehts um GMAIL, aber vielleicht ist es bei Dir ähnlich:

https://stackoverflow.com/questions/...r-reading-once

Kostas 25. Mär 2018 19:28

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
stimmt, NMPOP3 ist ja gar nicht Indy. Das ist ein altes Delphi 5 Projekt.

ok, die Email werden also sofort gelöscht. Dann werde ich es eben anders lösen. Ich dachte es so eine Einstellung die Email auf den Server zu belassen. Vermutlich ruft Thunderbird die Email per IMAP an wenn ich einstelle "Email auf dem Server belassen" ist egal, ich werde schon eine andere Möglichkeit finden.
Dankeschön für die Hilfe.

Gruß Kostas

zeras 25. Mär 2018 19:34

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
Meines Wissens kann man auch per POP die EMails auf dem Server belassen, auch wenn diese gelesen wurden. Daher sollte es bestimmt eine Einstellung bei den Indys geben, die das automatische Löschen verhindern.
Nur wo und wie heißt der Parameter. Das weiß ich leider auch nicht.
Bei Outllok 2010 gibt es bei den Einstellungen auch die Checkbox "Kopie aller Nachrichten auf dem Server belassen".

Uwe Raabe 25. Mär 2018 21:43

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
Zitat:

Zitat von zeras (Beitrag 1397216)
Meines Wissens kann man auch per POP die EMails auf dem Server belassen, auch wenn diese gelesen wurden.

Das ist korrekt! Der Client muss das Löschen explizit beauftragem: Post Office Protocol

Delphi.Narium 25. Mär 2018 22:09

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
Bin mal ein bisserl durch die Quelltexte von TIDPop3 "gewandert". Das Löschen von Mails auf dem Server wird mit der Methode IDPop3.Delete(MsgNum) angestoßen. Einen impliziten Aufruf der Methode kann ich in den Quellen nicht finden.

Es wäre daher mal zu prüfen, ob die Methode irgendwo aufgerufen wird, obwohl es an der entsprechenden Stelle nicht angebracht ist.

Oder anders: Prüf' bitte mal, ob in Deinen Quelltexten irgendwo diese Methode aufgerufen wird, obwohl das Löschen der Mails nicht gewünscht ist.

Jasocul 26. Mär 2018 06:46

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
Das Retrieve (RETR) sendet an den Server nur, dass der Client die E-Mail haben möchte. Damit diese auf dem Server gelöscht wird, muss vom Client noch der Delete-Befehl (DELE) geschickt werden.

TIdPOP31 macht kein implizites Delete nach dem Retrieve!

Die meisten Server sind so konfiguriert, dass diese ebenfalls kein implizites Delete nach dem Versand durchführen. Aber das muss nicht bei jedem Server so sein. Ich kann es zumindest auf meiner GoogleMail-Adresse einstellen. Allerdings greife ich nie per POP3 darauf zu.

Kostas 26. Mär 2018 08:08

AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
 
Danke für die vielen Beiträge.
Ich führe das löschen bei den Email die ich behandelt habe selbst aus. Alle andere Email lösche ich nicht. Wenn ich den gesamten Ablauf incl. Löschen auskommentiere und nur Login, Abrufen, Logout
durchführe, müssten die gleichen Email erneut abrufbar sein. Genau das passiert nicht. Ich kann also die Email nur ein mal abrufen und danach ist es vorbei. Das wird dann wohl eine Einstellung im Server sein den ich nicht beeinflussen kann. Ist kein Problem, ich werde es eben anders lösen.

Herzlichen Dank für die Unterstützung.
Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.
Seite 1 von 2  1 2      

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