muttrc:

muttrc:

Gestern Abend habe ich mich bei einer Mailingliste angemeldet und heute Morgen festgestellt, dass mein Procmail-Filter auf viele der Mailinglisten-Nachrichten nicht zutrifft. Jetzt liegen in meinem Posteingang zwischen meinen wichtigeren Arbeits-E-Mails eine Menge weniger wichtiger Mailinglisten-Nachrichten.

Ist es möglich, alle E-Mails in meinem Posteingang noch einmal durch meine Procmail-Filter laufen zu lassen?

Hinweis: Ich verwende das Maildir-Format

Antwort1

Ich glaube, das wird funktionieren. Sie müssen formaildie E-Mail neu formatieren und zurücksenden procmail.

Aus dem Maildir-Verzeichnis:

cat * | formail -s procmail

Antwort2

Sie können es möglicherweise direkt vor Ort tun, und zwar wie folgt:

$ for m in Mail/{cur,new}/*; do echo $m; procmail <$m; rm $m; done

Sie müssen anschließend alle Original-E-Mails löschen, da Procmail sie sonst dupliziert.

Außerdem wird alles als neu aufgezeichnet. Ich bin mir nicht sicher, wie ich das am besten handhaben soll.

Antwort3

Wenn Sie Mutt verwenden, können Sie die E-Mail durch Procmail leiten und das Original mit einem Tastenbefehl wie diesem auch aus Ihrem Posteingang löschen:

muttrc:

macro index y '<enter-command>unset wait_key<enter><tag-prefix><pipe-entry>/usr/bin/procmail /home/user/.procmailrc<enter><tag-prefix><delete-message><enter-command>set wait_key<enter>'

macro pager y '<enter-command>unset wait_key<enter><pipe-entry>/usr/bin/procmail /home/user/.procmailrc<enter><delete-message><enter-command>set wait_key<enter>'

gefunden aufhttps://mikeburnscoder.wordpress.com/2011/06/12/one-big-mutt-inbox-filtered-after-the-fact-using-procmail/

Antwort4

Dafür scheint es keine gute Lösung zu geben: Procmail scheint nur E-Mail-Eingaben von zu akzeptieren stdin, was die Maildir-Anwendungen einschränkt.

Ich stand vor einer ähnlichen Situation und die beste Lösung für meine Anforderungen bestand darin, einfach das, was ich procmailtun wollte, aber definitiv nicht kann, mit meinem eigenen kleinen Skript zu duplizieren. Das sollte ausreichen, wenn Sie nur ein oder zwei einfache Regeln beachten müssen:

cd ~/Maildir/
sh -c 'for i in `egrep -l "^Delivered-To: [email protected]" cur/*`; \
    do mv $i .FreeBSD.perforce/$i; done'

Dies ist zwar auch nicht optimal, sollte aber zumindest nicht zu unnötigen E/A-Vorgängen und potenziellen Datenverlusten führen.

verwandte Informationen