Für meinen Mailserver habe ich ein Taubenschlag-, Postfix- und Sieb-Setup.
Ich habe mehrere hundert Mails in meinem Maildir und habe kürzlich einige Siebregeln zum Sortieren erstellt. Leider gelten die Siebregeln standardmäßig nur für eingehende Nachrichten. Deshalb meine Frage:
Wie kann ich Nachrichten in einem bereits vorhandenen Maildir durchsieben?
Vielen Dank
--- bearbeiten:
Danke Larsks
Mit dem von Ihnen angegebenen Link habe ich am Ende Folgendes verwendet:
mkdir todo
mkdir done
mv cur/* todo
for i in todo/*; do
echo "Delivering message $i ..."
/usr/lib/dovecot/deliver -d [email protected] < $i && mv $i done/
done
das funktioniert wie ich bezaubere. Ich kann dieses Skript für jeden neuen Filter, den ich erstelle, erneut ausführen.
Antworten:
Ich habe auch viel gesucht - selten dokumentiert.
Inzwischen gibt es einen Befehl
finden Sie in diesem Blog https://mebsd.com/configure-freebsd-servers/dovecot-pigeonhole-sieve-filter-refilter-delivered-email.html für eine Anleitung
quelle
Es gibt keine einfache Möglichkeit, dies zu tun, aber gemäß dieser Nachricht können Sie ein Shell-Skript schreiben, um Nachrichten mit Dovecots
deliver
Programm erneut zuzustellen ... also so etwas wie das:Sie müssen durch
produce_message_list
etwas ersetzen , das eine Liste der zu verarbeitenden Nachrichten erstellt. wird möglicherweisefind
tun, was Sie brauchen.quelle
Neuere Versionen von Dovecot und Pidgeonhole verfügen jetzt über einen Siebfilterbefehl. Sie können also ein Skript schreiben, um alle Postfächer nach einem Ordner "INBOX.Refilter" zu durchsuchen, und dann den Siebfilter für diesen Ordner ausführen.
In diesem Skript wird davon ausgegangen, dass Sie Ihren E-Mail-Ordner als / var / vmail / domain / user strukturiert haben.
quelle