Falsch geleitete Mails in die Mailbox kopieren

stefan-becker

New Member
Hallo,

ich hatte mit procmail eine Regel definiert. Leider lief da was falsch und liegen die Mails in einem falschen Verzeichnis in der Form msg.xxxxx, wie bekomme ich diese Mails nun in die Mailbox?

Stefan
 
Du müsstest noch etwas mehr Angaben zu Deinem System machen: In welchem Format liegen die Mails normalerweise vor? IMAP-Mailbox?, Maildir-Format?, mbox-Format?

Falls es das mbox-Format ist, sollten folgende Zeilen helfen:
Code:
for msg in msg*; do
    cat $msg >> mbox
done;
Vorher prüfen, ob die msg tatsächlich mit einem zweifachen Zeilenumbruch beendet wird.
 
EDIT: Halt, vergiss es, die Anleitung ist für Cyrus -- Courier funktioniert anders, da ich es aber nicht anwende, kann ich es nicht testen. Das Prinzip ist aber ähnlich. Der sed-Aufruf kann aber IMHO weggelassen werden.
Falls Courier im Maildir-Format betrieben wird, kannst Du die msg-Dateien u.U. auch direkt in das new-Verzeichnis des jeweiligen Benutzers verschieben, sofern die erste Zeile nicht mit "From" anfängt.

Courier-IMAP ist etwas komplizierter (hier für den Benutzer benutzer). Mails werden in der INBOX abgelegt:
Code:
for msg in msg*; do
    sed '1{/^From /d;}' $msg | /usr/lib/cyrus/bin/deliver -e -a [I]benutzer[/I] -m user.[I]benutzer[/I]
done;
Hier wird davon ausgegangen, dass die msg.xxxxxxx-Datei eine einzelne Mail enthält und im mbox-Format ist. Bei Unklarheit hier die ersten und letzten paar Zeilen der Datei Posten...
Am besten vorher mal mit einer einzelnen Mail ausprobieren und nicht gleich mit allen, da der imapd doppelte Mails ausfiltert und daher Fehler etwas problematisch sind ;)
Pfade müssen natürlich ggfs. angepasst werden -- es schadet auch nie, die jeweiligen man-pages zu lesen, um z.B. auf Besonderheiten und lokale Gegebenheiten Rücksicht nehmen zu können.
 
Last edited by a moderator:
Back
Top