Womit kann man ein IMAP-Konto sichern?
Ich möchte mit meinen Mails in ein anderes System "umziehen" und suche nach einem Linux-Tool, das Mails einfach ins Dateisystem legt, am besten jede Mail als .txt und gut. Und am besten, wäre auch, wenn das Tool per IMAP auf Postfächer zugreifen könnte (oder den IMAP-Standard zur Verfügung stellt, damit ich mit einem Mailprogramm die Mails einfach rüber schieben kann). Also ohne groß Schnickschnack.
Bitte keine Datenbank-Lösungen, das hat mehrere Gründe:
- eine Datenbank kann man schlecht einfach auf CD brennen und später wieder einfach zurück kopieren
- es liegen bereits Mails im Ziel-Postfach, und wenn ich da einfach die Datenbank plätte, sind die neuen Mails futsch; die Dinger irgendwie händisch einfügen macht bei ca. 10.000 Mails keinen Sinn, da bin ich ja noch Weihnachten dabei.
- Mail-Programme wie Thunderbird neigen dazu, irgendein eigenes internes Format zu verwenden, mit dem zukünftige Versionen irgendwie dann doch Probleme haben. (solche Meldungen wie "XYZ kann diese Daten nicht lesen, bitte löschen Sie das alte Profil erstellen Sie ein neues." wären für mich nichts neues)
Das würde also dovecot schon mal ausschließen, der schiebt die Mails nämlich irgendwo in eine Datenbank. Oder kann man den so einrichten, dass der einfach das Filesystem nimmt und da einfach human lesbare Dateien rein wirft?
Früher hatte ich für Windows mal einen Mailserver von true north soft, der Mails einfach absolut schmerzfrei als *.eml Datei abgelegt hat, am liebsten hätte ich wieder sowas, aber das Teil gibt's auch nicht mehr.
Jemand eine Idee?
4 Antworten
https://www.offlineimap.org/ macht lokal ein altes "Maildir" Format, was im Prinzip einfach die Mails als einzelne Files in Unterordnern ist. Lokal kannst du dann jeden Client nehmen, der Maildir/Lokal als Konto unterstützt.
IMAP-Server ist schwierig, weil sich z.B. sowas wie IMAP-Flags wie Tags etc. nicht effizient abbilden lassen und der zusätzlich oft eine DB braucht. Der Cyrus IMAP Server (zumindest die letzte Version, die ich da mal benutzt habe, ist schon eine Weile her) benutzt auch eine Datenbank (*.db) zur Verwaltung, aber die Mails liegen da einzeln in Ordnen. Die Datenbank konnte man da neu aufbauen, wenn die mal defekt war, hat allerdings ewig gedauert.
Jemand eine Idee?
Thunderbird mit dem Plugin ImportExportTools NG - damit kannst du Mails in mehreren Formaten exportieren:
mbsync
oder du hast noch irgendwo einen Windows client, dann Mailstore Home (ist kostenlos) MailStore Home - Kostenlose E-Mail-Archivierung für private Anwender
Die Beschreibung ist irgendwie etwas zu vage für meinen Geschmack, aber sowohl Thunderbird, als auch Dovecot können Maildir.
Genauer kann Dovecot obox, mbox, Maildir, sbox sowie remote imap udn remote pop3.
Die Frage ist halt, bist du bei den Servern nur Nutzer, oder kannst Du da richtig ans Filesystem, denn dann würde ich sowas wie Maildir nutzen. Aber, jede Implementierung hat im Maildir natürlich Augmentierungsdaten, insbesondere Indices/Caches und ähnliches.
Okay, ich kann das nachvollziehen. Das ist einer der Gründe, warum ich nen eigenen Mailserver nutze.
Wie gesagt, TB (Thunderbird) kann für den lokal storage auch Maildir als Format. Das könnte man (wenn man TB beendet) direkt zusammenpacken und sichern. Alternativ gibt es für TB auch extensions, die import/export diverser Formate unterstützen.
Das Kernproblem ist immer die Wiederherstellung. Ein IMAP-Client kann im Prinzip die Ordner anlegen und die Mails remote ablegen, die Frage ist, ob jeder Server den Du nutzt das in vollem Umfang unterstützt und in wiefern hierbei durch Prüfung von MSG-IDs mögliche Dubletten unterdrückt werden. Weiterer Knackpunkt ist die Wiederherstellung von Subscriptions und anderen sonstigen Features.
Ich kenne leider keinen Client/kein Tool das diese Aufgabe zufriedenstellend bewerkstelligen kann.
P.S.: Wenn Du eh einen eigenen IMAPper hast, dann würde ich in Erwägung ziehen die Mails von allen anderen IMAPpern automatisiert ohne Client (respektive mit automatisierbarem CLI-Client, sowas wie fetchmail oder ähnliches) dort als Kopie draufzuholen. Der IMAPper nutzt dann vorzugsweise Maildir, das ist für einen Mailserver mit mäßiger Load gut performant. Man kann dann noch Snapshotting nutzen, da eine Mail entweder als Datei da ist, oder eben nicht - Bei sowas wie mbox oder anderen DB-ähnlichen Formaten hast Du einfach immer ein Konsistenzproblem, ohne entsprechende zusätzliche Vorkehrungen.
Snapshot anlegen
Tar+compression filter
wegbrennen oder sonstwohin kopieren
Snapshot wieder löschen
Tatsächlich könnte es sogar reichen tmp (bei Maildir) auszusparen, da der Ordner Mails enthält, die sich in Zustellung befinden.
Ich spezifizier das mal etwas genauer; sagen wir mal so: ich habe bislang folgendes Setup:
1. Googlemail-Postfach
2. Postfach auf meiner Domain
3. Archiv auf meinem Windows-System mit lokalem Mailserver
4. Mails auf meinem Linux Mint System mit lokalem Mailserver
5. Mails bei anderen Internetanbietern
Gemeinsamer Nenner: überall habe ich Zugriff per IMAP. Ich würde alle Mails in eine ebenfalls Linux Mint VM verschieben wollen (vielleicht mit Alles markieren -> verschieben über Thunderbird) und frage mich natürlich: wie kriege ich die Mails von da aus auf CD weg gebrannt oder auf eine externe Backup-Platte? Auf meinem Mail-Archiv liegen 10.000+ Mails, in den anderen Postfächern liegen auch mehrere tausend Mails herum, von daher möchte ich die aus naheliegenden Gründen sicher nicht alle einzeln abspeichern.
Da die meisten Mailserver in eine Datenbank schreiben, kann ich da ja nun schlecht einfach die Datenbankdatei auf CD brennen und im Restore-Fall einfach alle aktuellen Mails plätten, wenn man damit nicht die Datenbank sogar komplett korrumpiert und über den Jordan schickt. Ich vermute, das geht auch geschickter.