On Mittwoch 25 März 2009 23:41:59 Joachim Hussong wrote:
Hallo,
Hallo
wie anderweitig erwähnt, konnte ich mein aus Versehen gelöschtes maildir-Verzeichnis mit Inhalt wieder herstellen. In einem Verzeichnis liegen nun fast 8000 Dateien mit Filenamen der Art
1233309645_0.25310.numsim,U=78,FMD5=e7f4827f4857380aaed3d6e248886806:2,S
die überwiegend aber nicht ausschließlich meine Mails enthalten. Einige der Dateien sind anderen Ursprungs.
Das heißt pro Datei nur max. eine Mail?
Wie kriege ich diese große Anzahl an Dateien wieder so zusammen, dass ich mit meinem Mailprogramm (Firefox) wieder darauf zugreifen kann? Ich möchte die Mails wieder auf den Server schaufeln.
Eine Möglichkeit wäre, die Mails einfach in ein bestehendes Maildir- Verzeichniss zu legen (in cur) und dann mit einem lokalen MUA drauf zu gehen. Und mal schauen was noch zu verwerten ist.
Im mbox-Format sind alle Mails direkt aneinander gehängt in einer einzigen Datei zusammen gefasst. Gibt es zwischen den Mails ein Trennzeichen?
Normalerweise eine Leerzeile.
Meine Idee wäre, mit find und grep die Dateien aus dem Wust herauszuholen, die wirklich eine Mail darstellen. Ich will in den Dateien nach einem typischen Schlüsselbegriff suchen und so die Datei als Mail identifizieren. Ich dachte da z.B. an "Message-ID". Kommt dieser Ausdruck in der Datei vor, dann ist das eine Mail. Die so gefunden Dateien wären dann hintereinander in einer Datei zusammenzufassen, gegebenenfalls mit Trennzeichen. Ziel wäre eine mbox-Datei, die ich Firefox vorwerfe und darüber dann die einzelnen Mails wieder (per Hand) auf dem Imap-Server in die entsprechenden Unterordner einsortiere.
Einfach mal probieren.
Was noch bleibt, ist das Script, das das bewerkstelligen kann. Mein Script-Fähigkeiten sind begrenzt.
Aus der Hüfte: find . -type f -print | xargs egrep -l -i '^message-id.*:.*' | xargs cat >> mbox Setzt aber voraus das die Mails alle mit einer Leerzeile enden (war bei mir zumindest so).
Hätte da jemand einen Vorschlag? Oder gibt es andere Ansätze?
Gruß
Joachim