Ich benutze Evolution als Mail-Programm. Und ich hätte gerne, das Mails, die ich lösche, im Trash landen und dann nach 4 Wochen ganz verschwinden. Bei Evolution scheint der Trash-Folder aber kein echter Ordner zu sein, sondern nur ein virtueller Ordner für gelöschte Mails. Alles, was da drin ist, kann man nicht mehr löschen, man kann nur alles weg machen mit dem Menüpunkt "Empty Trash". Gibt es einen Workaround mit dem ich einen 2-stufigen Trash bekomme? Ich habe auch schon mit Archive rumprobiert, aber das hat auch nicht geklappt.
Evolution: Trash-Folder
|
Anmeldungsdatum: Beiträge: 880 |
|
||
|
Supporter
Anmeldungsdatum: Beiträge: 1303 |
Leider gibst du keine Informationen über deine Evolution Installation (Installations-Art, Version usw) und die verwendeten Konto-Typen (imapx, ews, microsoft365, maildir, vfolder usw). Die Art des Trash-Folders hängt stark von dem von dir konfigurierten Kontotyp und den Fähigkeiten deines Mail-Providers ab. Welcher reale Trash-Ordner bei deinem Mail-Provider zu welchem cached Ordner mapped, hat du ja beim Konteneditor unter "Vorgaben" festgelegt. Bei "maildir" Kontotypen könnte man vermuten, was du eventuell meinen könntest, da hier die Mail-Objekte im Ursprungs-Order verbleiben und einen "Löschvermerk" erhalten. Diese gelöschten Objekte werden dann in einem virtuellen Order (ähnlich wie bei Suchordnern) angezeigt und könne über die "Säuberung" (Strg-E) bereinigt werden.
Eine 2-stufige Trash Struktur kannst du relativ leicht serverseitig (z.B. bei IMAP) oder lokal (bei z.B. maildir) einrichten. Um diesen Eintrag nicht ausufern zu lassen, beschreibe ich hier kurz diese Vorgehensweise bei einem IMAP Konto.
Hierbei verschiebst du die zu löschenden Objekt in den Ordner "Gelöscht". Nach 4 Wochen wandern die Objekte in den Ordner "Gelöschte Elemente". Nach der für diesen Ordner festgelegten Zeit werden dann die Objekte tatsächlich gelöscht. Ich hoffe, diese Erläuterungen waren für dich verständlich. Da ich gemäß deiner Angaben allerdings nur Vermutungen angestellt habe, bitte ich dich bei deiner Antwort präziser zu sein (Konten-Art, Installations-Art, Version usw). |
||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 |
Wow, danke für die tolle Antwort. Ich habe mehrer IMAP-Konten und ein POP-Konto, bei dem die Mails nicht auf dem Server bleiben. Mir geht es hauptsächlich um dieses POP-Konto. Hier habe ich das so ähnliche probiert wie von dir beschrieben. Aber leider lassen sich bereits gelöschte Mails nicht noch mal löschen. Sie verschwinden nicht wenn man sie löscht oder automatisch löscht über die Archiv-Regel. Ich glaube sogar sie verdoppeln sich. |
||
|
Supporter
Anmeldungsdatum: Beiträge: 1303 |
So etwas habe ich fast vermutet. POP Kontos werden zwar seit Jahrzehnten nicht mehr benötigt, da man ihre Funktionalität auch mit IMAP vollständig abbilden kann aber sie laufen halt immer noch. Um die Zusammenhänge detaillierter zu beschreiben, müsstest du allerdings die von mir erbetenen Information (Installationsart z.B. deb, flatpak und Version) noch liefern. So kann ich nur oberflächliche Informationen geben. Ein POP Konto hat normalerweise keinen "Trash" Folder, da POP Server keine Ordnerstrukturen abbilden können. Mit Evolution kann man aber auch POP Anbindungen "fast" wie IMAP Konten über die "maildir" Strukturen betreiben. Dies machst du offenbar. Beim Abrufen der Mail-Objekte von einem POP Konto werden diese normalerweise in die lokale Ordnerstruktur von Evolution abgelegt (z.B. "Auf diesem Rechner/Eingang"). Von dort kann man sie in weitere selbst definierte Ordner verschieben. Und nun hat man sogar einen Trash-Ordner (Papierkorb), obwohl dieses alles bei POP nicht vorgesehen/möglich war. Wenn du nun ein Mail-Objekt in einem Ordner löschst (Klick auf Papierkorb-Icon oder Strg-D oder die Entf-Taste), wird der Eintrag scheinbar in den Papierkorb verschoben. Wenn du allerdings im Menue (Ansicht → Gelöschte Nachrichten anzeigen) einen Haken gesetzt hast, wirst du feststellen, das das gelöschte Objekt (nun durchgestrichen) sich immer noch im Ordner befindet. Der Ordner Papierkorb ist hier nämlich kein realer sondern ein "virtueller" Ordner (ähnlich wie Suchordner). Der Versuch, gelöschte Objekte z.B. mittels Strg-D noch einmal zu löschen (z.B. im Papierkorb) hat aber, wie du festgestellt hast, nicht das Ergebnis, was du erwartet hast. Ein gelöschtes Objekt bleibt halt gelöscht, auch wenn man es noch mal löscht. Die einfachste Vorgehensweise diese gelöschten Objekte zu entfernen ist die Funktion "Säubern" (Strg-E), die sich für alle gelöschten Objekte in einem Order anwenden lässt. Will man nur Objekte eines Ordners "säubern", geht man in diesen Ordner und tippt Strg-E, will man alle gelöschten Objekte in der maildir Struktur "Auf diesem Rechner" säubern, geht man in den Ordner "Papierkorb" und drückt dort Strg-E. |
||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 |
POP macht das was ich brauche. IMAP würde es auch nicht besser machen. |
||
|
Supporter
Anmeldungsdatum: Beiträge: 1303 |
Auf dieses Statement zu antworten würde bedeuten, dein Thema zu entführen und eine unfruchtbare Diskussion zu starten, was ich nicht machen werde. Hast du mit den Informationen, die ich gegeben habe etwas anfangen können? Du hast die von mir erbetenen Informationen noch nicht geliefert, was aber sinnvoll ist, um dein gewünschtes 2-stufiges Löschverfahren auch für lokale Ordner umsetzen zu können. Wenn das Thema für dich gelöst ist, bitte ich dies beim Status zu markieren. |
||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 |
apt list evolution -> evolution/noble-updates,now 3.52.3-0ubuntu1 amd64 [installed] Ich habe deiner Beschreibung entnommen, dass mein Vorhaben mit einem POP-Konto nicht machbar ist. Bearbeitet von schwarzheit: Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern! Und benutze bitte den Vorschaubutton. Danke. |
||
|
Supporter
Anmeldungsdatum: Beiträge: 1303 |
Ok, eine deb Installation vom 28.06.2024. Das ist zwar schon recht alt (aktuell ist 3.56.2) aber ich denke, deine Anforderungen lassen sich damit auch abdecken.
Gemäß Radio Eriwan: Im Prinzip ja, aber mit Evolution kann man da doch etwas machen. Bei einer POP Anbindung gehen deine Mails nicht in den cache sondern in den local Zweig. Somit ist dein Trash (Papierkorb) ein virtueller. Die gelöschten Objekte (Mails) bleiben im Ordner und erhalten ein "Lösch-Flag". Den Papierkorb kannst du dir wie einen Suchordner vorstellen, der die Mails mit dem Löschvermerk auflistet. Diese Aussage gilt nur für den Mail-Type "maildir" deiner lokalen Ablage, nicht für andere Kontentypen (es sei denn du möchtest dies dort speziell auch konfigurieren). Zum besseren Verständnis hatte ich dir empfohlen im Menue (Ansicht → Gelöschte Nachrichten anzeigen) einen Haken zu setzen, damit du dies nachvollziehen kannst. Das Entfernen der gelöschten Objekte erfolgt, wie ich geschrieben hatte über die "Expunge" (Säubern) Funktion. Dies kann man je ausgewähltem Ordner (Strg-E) oder für ALLE Trash-Ordner aller Konten über Menue ("Datei" → "Papierkorb leeren") durchführen (VORSICHT!). Dein 2-stufiges Löschen kannst du wie folgt implementieren:
Mails, die gleich in den Papierkorb wandern sollen, kannst du wie bisher mit "Entf", Strg-D oder das Mülleimer-Ikon löschen. Ich empfehle dir diese Lösch-Aktion über die "Expunge" (Säubern) Taste Strg-E manuell durchzuführen. Es besteht aber auch die Möglichkeit, dies automatisiert zu machen. Hierfür ist aber von dir ein kleines Skript zu schreiben, das über cron oder eine systemd.timer Unit gesteuert wird. |
||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 |
Ok alles klar. Das Vorgehen ist also Inbox → Archivieren → auto-Löschen → Trash Ich werde es probieren, danke! |
||
|
Supporter
Anmeldungsdatum: Beiträge: 1303 |
und ich freue mich auf deine Ergebnismeldung. Bezüglich der Tastenkombination für das Archivieren (das "Kasten-Icon" (Strg-Alt-A)) hatte ich ja meine Probleme, weil diese Taste global beim Programm "keepassxc" verwendet wird. Aus diesem Grund habe ich die Kurzwahl für das Archivieren wie folgt abgeändert:
Da du eine sehr alte Version von Evolution nutzt, kann es sein, dass du die relevante "accels" Datei anpassen musst. Wenn ich mich recht erinnere, müsste das an der Stelle sein, wo "<Actions>/mail/mail-archive" "<Primary><Alt>a" zu finden ist. Wenn das für dich relevant sein sollte, melde dich, damit ich diese alte Version auf einer VM noch mal aktivieren kann. |
||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 |
Ich habe mir jetzt ein kleines Python geschrieben, das monatlich die zu alten gelöschten Mails aus dem Ordner entfernt. Das wird in /ect/cron-monthly regelmässig gestartet. Die folders.db ändere ich nicht, die wird von evolution automatisch auf den neuesten Stand gebracht. |
||
|
Supporter
Anmeldungsdatum: Beiträge: 1303 |
Ja, die folders.db sollte man nicht modifizieren, wenn man nicht genau weis, was man macht. Kannst du das kleine python Script mal zeigen? Je nachdem, wie du es realisiert hast, sollte es eventuell nicht während einer laufen evolution Session agieren. Ich hatte mal vorgeschlagen, die "*,*T" Files im relevanten Ordner per cron oder systemd.timer zu löschen. Es gibt auch einen Ansatz über die libcamel API. Ich bin gespannt auf deinen Lösungsansatz. |
||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 |
|||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 |
|
||
|
Supporter
Anmeldungsdatum: Beiträge: 1303 |
Wenn evolution aktiv ist, sind viele Objekte im Cache. Wenn man dann dem laufenden Programm einige Dateien "unter dem Hintern" weg löscht, kann es zu Inkonsistenzen führen, die sich dann ärgerlich bemerkbar machen. Aus diesem Grund ist es stets sinnvoll derartige Aktionen bei einem sicher herunter gefahrenen evolution durchzuführen: $ # bei einer deb Installation: $ evolution --force-shutdown $ $ # bei einer flatpak Installation: $ flatpak kill org.gnome.Evolution $ Hierdurch werden auch die parallel laufenden Hintergrundprozesse sauber herunter gefahren. Nachdem dann dein Script gelaufen ist, wird von irgendeinem Benutzer (dir) evolution wieder gestartet. Bei dem Startvorgang wird ein Abgleich der relevanten Dateien und Strukturen mit den Datenbank Inhalten durchgeführt und die neuen Realität (fehlende Dateien) auch in den Datenbanken berücksichtigt. Danke für dein python Script. Mir ist hier noch folgendes aufgefallen: Du hast als zu betrachtendes Verzeichnis MAILDIR_CUR definiert. Deine Logik geht dann davon aus, dass es unter diesem Verzeichnis keine Unterverzeichnisse gibt. Prinzipiell entspricht das meinem alten Vorschlag, der auch in den Unterverzeichnissen aufräumt: $ # bei einer deb Installation: $ find ~/.local/share/evolution/mail/local/ -ctime +30 -name "*,*T*" -print -delete $ $ # bei einer flatpak Installation: $ find ~/.var/app/org.gnome.Evolution/data/evolution/mail/local/ -ctime +30 -name "*,*T*" -print -delete $ Auch hierbei werden die vor mehr als 30 Tagen (ctime) gelöschten Mails (T) gelistet und gelöscht. Aber wenn du vor der Ausführung des Scripts noch evolution herunter fährst, sollte dies mit dem python Script sauber funktionieren. |