![]() |
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:
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
idPOP.Retrieve(i,Msg);
Delphi-Quellcode:
Manche Email sollen weiter besteht auf dem Server. Ich habe keine Möglichkeit gefunden das automatische Löschen zu unterbinden.
idPOP.Delete(i);
Hat jemand eine Idee? Gruß Kostas |
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?
|
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 |
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: ![]() |
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 |
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". |
AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
Zitat:
![]() |
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. |
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. |
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 |
AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
.. holst Du denn immer alle Mails ab oder nur die nicht gelesenen?
Bei einem zweiten Abruf würden dann keine ungelesenen mehr da sein, wenn nicht eine neue Mail dazugekommen ist. Grüße Klaus |
AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
An GMail kann es aber nicht liegen. Ich rufe meine Mails von GMail auch per POP3 ab (ohne Löschen) und die bleiben alle noch im Konto.
|
AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
Zitat:
An der Indy-Komponente kann es nicht liegen, da es kein implizites DELE beim RETR gibt. Man kann das Verhalten bei GMail einstellen. Es gibt dort auch eine Einstellung, um nach einem POP die E-Mails automatisch löschen zu lassen. Es kann auch sein, dass die Mails als gelesen markiert werden und dadurch eine erneuter Abruf nicht möglich ist. Standardmäßig wird einfach eine Kopie Posteingang von GMail beibehalten. Einfach mal im Browser das GMail-Konto aufrufen. Dann das Zahnrad anklicken und "Einstellungen" auswählen. Danach ist es möglich den Menüpunkt "Weiterleitung und POP/IMAP" aufzurufen. Dort findet man die möglichen Einstellungen. |
AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
Damit ist es aber noch kein pauschaler Fehler von GMail, das wollte ich damit ausdrücken :wink:
Wenn man eine Regel oder Einstellung setzt, dass die Mail nach dem Abruf automatisch gelöscht wird oder woanders hin verschoben wird, ist das ja auch eine benutzerspezifische Einstellung. |
AW: Indy löscht die abgerufen Email vom Server selbstständig. Kann man das verhindern
Dann halten wir fest, dass es am User liegt, der etwas falsch eingestellt hat. :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 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