[linux-l] E-Mail Speicherformate konvertieren (gelöst)
Axel Weiss
axel at freesp.de
Di Mär 4 12:41:37 CET 2008
Anselm Hinderling <lili at absinth.net> wrote:
> Selbst Evolution sollte mit Maildir zurechtkommen. Ohne Import.
> Konvertieren tut man gemeinhin in die andere Richtung. Sonst würde
> vielleicht eine formail-Lösung funktionieren, wie hier beschrieben:
> http://does-not-exist.org/mail-archives/mutt-users/msg05262.html
Danke Anselm,
das war der Bringer! Eine Fingerübung war noch nötig, um alle
Mail-Ordner aufzuspüren, jetzt habe ich alle Mails im mbox-Format.
Für Interessierte, das Skript, das meine Mail-Struktur gepackt hat:
#-------------------------8<----------------------------------
#!/bin/bash
maildir=<path-to-archive>/Mail
mbox=<path-to-archive>/mbox
dirs="<directories containing mails>"
container="<directories containing directories containing mails>"
cd $maildir
for d in $dirs; do
echo generate mbox-file $mbox-$d
: > $mbox-$d
test -n "`ls $maildir/$d/new`" && {
for file in $maildir/$d/new/*; do
formail -I Status: <"$file" >>$mbox-$d
done
} || true
for file in $maildir/$d/cur/*; do
formail -a "Status: RO" <"$file" >>$mbox-$d
done
done
for c in $container; do
sub=`ls -F .$c.directory | grep \/ | sed -e "s/\///g"`
plain=`ls -F .$c.directory | grep \* | sed -e "s/\*//g"`
for d in $sub; do
echo generate mbox-file $mbox-$c-$d
: > $mbox-$c-$d
test -n "`ls $maildir/.$c.directory/$d/new`" && {
for file in $maildir/.$c.directory/$d/new/*; do
formail -I Status: <"$file" >>$mbox-$c-$d
done
} || true
for file in $maildir/.$c.directory/$d/cur/*; do
formail -a "Status: RO" <"$file" >>$mbox-$c-$d
done
done
for d in $plain; do
echo copy mbox-file $mbox-$c-$d
cp $maildir/.$c.directory/$d $mbox-$c-$d
done
done
exit 0
#-------------------------8<----------------------------------
Gruß,
Axel
Mehr Informationen über die Mailingliste linux-l