Suchen und Ersetzen in IMAP/Maildir Mails

Wenn man die Attachments seiner Mails auf einem IMAP Mailserver extrahiert (detached) hat und später der Pfad auf der lokalen Festplatte ändert, kann man die attachments mit dem Mailclient (z.B. Thunderbird) nicht mehr aus der Mail heraus aufrufen.

Wenn man in der glücklichen Lage ist, dass eine, der Server gehört, kann man jedoch ein suchen&erstzen direkt in den Mails machen:

find .Verzeichnis.Unterverzeichnis/cur/ -type f |xargs grep -l 'X-Mozilla-External-Attachment-URL:' |xargs perl -pi -w -e 's%C:/alter/pfad/%C:/neuer/pfad/%g;'

Falls die Mail Attachments ebenfalls auf einem Linux Server abgelegt sind, kann man sich mit folgendem code eine Liste der files generieren und ggf. auf dem fileserver abgleichen:

find .Verzeichnis.Unterverzeichnis/cur/ -type f |xargs grep 'X-Mozilla-External-Attachment-URL:' |cut -d' ' -f2 |sed -e 's%file:///%%g' | sed -e 's%[Cc]:/%/home/benutzername/%g'

Auf dem fileserver kann man die obige ausgabe dann in eine Datei schrieben (z.B.: mail-attachments.txt), danach lassen sich diejenigen Files anzeigen, welche nicht vorhanden sind:

for file in $(cat mail-attachments.txt); do ls -lah $file > /dev/null; done

Published by

Steven Varco

Steven ist ein Redhat RHCE-Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.