PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Emails im mbox Format recovern



psycholars
25.08.06, 10:41
Hi,
laenger kein groesseres Problem mehr gehabt.
Nun versuche ich mal das Problem zu beschreiben:

Auf einem Mailserver wurden Dateien aus /var/mail/* geloescht. Es handelt sich um ein ext3 file system.
Da dachte ich mir ich hole sie mir wieder, indem ich ein

grep -a -B2 -A2000 'foo@bar.de' /dev/hda2 > recover.foo

mache.

Dies hat auch sogar funktioniert. Nun habe ich aber 4 recover files wo anderer mist noch drin ist, zB aus /var/log und ein mailprogramm sie nicht als mbox file erkennt.

imap(foo): File isn't in mbox format:

Hat jemand eine Idee wie ich die Dateien wieder repariere, damit ich sie ganz normal als Imap Ordner wieder ins MailProg einbinden kann?


lars

psycholars
27.08.06, 08:18
gibt es alternativ die möglichkeit die datei erneut vom MTA verarbeiten zu lassen? damit er alle mails einfach neu zustellt?

tschloss
27.08.06, 08:43
Keine Ahnung, was du mit deinem grep-Befehl genau bezweckst.
Aber generell gilt: wichtiges Files gelöscht && keine Backups gemacht => Infos futsch.

Ich wüßte jetzt auch nicht, wo diese Infos noch ein zweites Mal herumliegen sollten. Ich kenne auch keine MTAs oder IMAP Server, die standardmäßig Kopien anlegen (wäre auch fragwürdig, weil so Postfächer ja heute gerne mal im GB Bereich liegen).

Greetz
Thomas

PS: mbox ist im Wesentlichen ein Textfile, in dem alle Mails im Textformat aneinandergehängt werden. Wenn man vollständige Mails hat, dann bekommt man es auch hin, die manuell zu einem mbox File zusammenzufügen. Vermutlich reicht der ">>"-Operator der Shell oder ein normaler Editor (vim, zB) dafür, im CPAN gibt es sicher auch mbox-Module für Perl.

psycholars
27.08.06, 08:52
Keine Ahnung, was du mit deinem grep-Befehl genau bezweckst.
Aber generell gilt: wichtiges Files gelöscht && keine Backups gemacht => Infos futsch.


Gelöschte Dateien liegen ja noch auf der Platte und da die Daten der Mails wieder da sind, scheint es auch irgendwie funktioniert zu haben.


Ich wüßte jetzt auch nicht, wo diese Infos noch ein zweites Mal herumliegen sollten. Ich kenne auch keine MTAs oder IMAP Server, die standardmäßig Kopien anlegen (wäre auch fragwürdig, weil so Postfächer ja heute gerne mal im GB Bereich liegen).

Greetz
Thomas

von sowas hab ich auch nie geredet ;)




PS: mbox ist im Wesentlichen ein Textfile, in dem alle Mails im Textformat aneinandergehängt werden. Wenn man vollständige Mails hat, dann bekommt man es auch hin, die manuell zu einem mbox File zusammenzufügen. Vermutlich reicht der ">>"-Operator der Shell oder ein normaler Editor (vim, zB) dafür, im CPAN gibt es sicher auch mbox-Module für Perl.
[/quote]

schonmal nen 5 GB file mit vim geöffnet? da wünshe ich viel spass :(

psycholars
27.08.06, 09:11
hab ne lösung:

dateien mit nem thunderbird plugin importieren:

http://nic-nac-project.de/~kaosmos/mboximport-en.html

dann wieder einsortieren oder das mbox file irgendwo sichern!

tschloss
27.08.06, 09:17
Du hast jetzt also eine Riesendatei, in der teilweise Mails enthalten sind, möglicherweise nur Fragmente und möglicherweise nicht am Stück. Das riecht nach heftig viel Arbeit!
Wenn es die Mails Wert sind, würde ich mich mal mit ein wenig mit dem Text-Aufbau einer Mail befassen und dann mit diesem Wissen veruchen, vollständige Mails aus dem Heuhaufen zu extrahieren.

Dazu mag es Sinn machen, die Datei erstmal in Happen zerlegen und sich um die Schnittflächen später gesondert zu kümmern.


EInzelne Mails kann man sich sicher wieder zustellen lassen, indem man sie in den MTA pipe´d. Aber der Aufbau einer mbox Datei ist wahrscheinlich auch nicht viel schwieriger (man mbox).
Mir scheint das Hauptproblem aber das sezieren deiner Riesendatei zu sein.
Ich würde dazu versuchen, einen Mailanfang zuverlässig zu identifizieren und dann die Mail grob zu parsen, um das zugehörige Mailende zu identifizieren. Wenn die Mail aufgrund der Blockreihenfolge halt woanders endet als sequientiell etwas weiter hinten im Textfile, wird das nicht klappen.

Sorry, habe da keine weiteren Ideen und hoffe, dass meine Backups mich vor diesem Stress bewahren mögen.

Greetz
Thomas

psycholars
27.08.06, 18:57
ne bessere lösung ist noch:

formail -s procmail < /var/mail/recover.foo

tschloss
27.08.06, 20:06
...dann ist ja gut! Ich bezweifle einfach, dass dein grep-Befehl ein hinreichend gutes File erzeugt.
Viel Erfolg.
Thomas

BedriddenTech
28.08.06, 15:53
Ich würde an deiner Stelle genau _hier_ auf Maildir umschwenken. ;) *scnr*