On 08-Jan-10, Philipp Bender wrote:
Hallo,
gibt es gute Ratschläge, wie man Mails archivieren sollte? Ich habe direkten Zugang zum Mailordner auf dem Mailserver oder eben zu IMAP via KMail. Mir schwebt ein Archiv vor, das man aber irgendwie noch durchblättern kann.
Hat jemand einen guten Tipp?
Für meine Archivierung und zum Lesen meiner Post zu Hause benutze ich fetchmail mit einem Patch. Der Patch unterstützt IMAP UIDs, um bekannte Mails nicht mehrfach zu holen. Falls der IMAP server UIDs nicht gut unterstützt (z.B. weil die UIDs nicht stabil bleiben), kann fetchmail mit dem Patch auch "gefälschte" UIDs aus der Message-ID und einem Received-Header erzeugen, und jedesmal abgleichen. Der Patch wurde von mir korrigiert und erweitert, aber noch nicht offiziell abgegeben. Daher ist er nur durch mich getestet. Ich benutze den Patch seit ca. 2 Jahren ständig. OpenSUSE repo (11.2 und Factory sollten dort auch bald erscheinen): http://download.opensuse.org/repositories/home:/odabrunz Konfiguration in einer .fetchmailrc: poll <imap-server> proto imap [tracepolls] uidl user "<imap-User>" password "<imap-password>" [is "<local-Linux-user>"] [folder <IMAP-folder>] [smtpaddress <local-SMTP-server>] [no rewrite] keep Angaben in <..> ersetzen, Angaben in [..] sind optional. Wichtig sind "uidl" und "keep". Konfiguration als Daemon, der mit IMAP IDLE vom Server über das Eintreffen neuer Mails unterrichtet wird: set daemon 300 set syslog poll <imap-server> proto imap [tracepolls] uidl user "<imap-User>" password "<imap-password>" [is "<local-Linux-user>"] [folder <IMAP-folder>] [smtpaddress <local-SMTP-server>] [no rewrite] keep idle Die Option "idle" ist hinzugekommen. Einzelheiten zur Funktion: - IMAP vergibt an jede Mail eine UID, die innerhalb des Servers und der Mailbox für die Mail eindeutig ist. Diese UID soll dazu verwendet werden, Mails über mehrere Sessions identifizieren zu können, um z.B. Änderungen offline zu machen und später auf den Server hochladen zu können (Mail als gelesen markieren, löschen, verschieben, usw.). - Es ist mit den UIDs auch möglich, Mails zu identifizieren, die noch nicht in ein Archiv heruntergeladen wurden. Dazu verwende ich die UIDs in fetchmail (Option "uidl", und die wird nur verwendet wenn auch "keep" verwendet wird). - Leider steht IMAP-Servern frei, die UIDs zu "vergessen", nachdem die Verbindung mit dem IMAP-Client beendet wurde. Das wird dem Client in der nächsten Session dann zwar mitgeteilt (über die UIDVALIDITY), aber es ist nicht mehr möglich anhand der alten und neuen UIDs festzustellen, welche Mails zwischen Server und Client identisch sind. Dazu hat der Patch eine zusätzliche Option "clientuid". Die sorgt dafür, daß statt der UIDs vom IMAP-Server eigene UIDs vom Client erzeugt werden: die Message-ID und ein Received-Header einer Mail werden verwendet, um diese "gefälschte" UID zu erzeugen. Diese UID ist nicht mit einer UID vom Server vergleichbar. Sie sollte bei "vergesslichen" IMAP-Servern aber die Stabilität der UIDs gewährleisten. Der Nachteil ist vor allem, daß es länger dauert und mehr Bandbreite kostet bei jedem fetchmail-poll die Message-ID und den Received-Header aller Mails der Mailbox herunterzuladen. - Ohne den Patch setzt fetchmail das "\Seen"-Flag für jede Mail auf dem IMAP-Server, um sie als "schon runtergeladen" zu markieren. Leider bedeutet dieses Flag, daß die Mail auf dem IMAP-Server als "gelesen" markiert wird. Das ist keine Lösung für mich, da ich u.a. auch das Web-Interface verwende, um neue Threads zu lesen, und mir mein Backup von zu Hause ungelesene Mails nicht als gelesen markieren soll. Wenn ich Mails im Backup zu Hause lese, wird die "gelesen"-Markierung für diese Mails jedoch nicht auf den IMAP-Server synchronisiert. Damit habe ich aber kein so großes Problem, da ich mit mutt meine Mails zu Hause auch von außerhalb über ssh lesen kann. - Details zu dem Patch findet man am Anfang des Patches fetchmail.imap_fake_uidl.adapted im "src"-Paket. Gruß, -- Olaf Dabrunz (Olaf <at> dabrunz.com) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org