Letzte Nacht habe ich eine Mailingliste abonniert und heute Morgen festgestellt, dass mein Procmail-Filter nicht für viele Mailinglistennachrichten gilt. Jetzt habe ich viele weniger wichtige Mailinglisten-Nachrichten, die mit meinen wichtigeren geschäftlichen E-Mails in meinem Posteingang durchsetzt sind.
Ist es möglich, alle E-Mails in meinem Posteingang über meine Procmail-Filter erneut auszuführen?
Hinweis: Ich verwende das Maildir-Format
Antworten:
Ich glaube das wird funktionieren. Sie müssen ausgeführt werden,
formail
um die E-Mail neu zu formatieren und zurückzusendenprocmail
.Aus dem Maildir-Verzeichnis:
cat * | formail -s procmail
quelle
Möglicherweise können Sie dies an Ort und Stelle tun:
Sie müssen anschließend jede Original-E-Mail entfernen, sonst wird sie von procmail dupliziert.
Es wird auch alles als neu aufgezeichnet. Ich bin mir nicht sicher, wie ich damit umgehen soll.
quelle
procmail < $m && rm $m
stattdessenprocmail < $m ; rm $m
die Nachricht nicht entfernt wird, wenn procmail fehlschlägt.Wenn Sie mutt verwenden, können Sie die E-Mail über procmail weiterleiten und das Original mit einem Tastenbefehl wie folgt aus Ihrem Posteingang löschen:
muttrc:
gefunden auf https://mikeburnscoder.wordpress.com/2011/06/12/one-big-mutt-inbox-filtered-after-the-fact-using-procmail/
quelle
Es scheint, als gäbe es dafür keine gute Lösung: procmail scheint nur E-Mail-Eingaben von zu akzeptieren
stdin
, was die Anzahl der Anwendungen einschränkt.Ich sah mich einer ähnlichen Situation gegenüber, und die beste Lösung, die meinen Anforderungen entsprach, bestand darin, einfach zu duplizieren, was ich
procmail
tun wollte , aber was es definitiv nicht kann, mit meinem eigenen kleinen Skript, was ausreichen sollte, wenn Sie nur ein oder zwei einfache Regeln haben dass Sie sich kümmern müssen:Dies ist auch nicht optimal, sollte aber zumindest nicht unter unnötigen E / A- und potenziellen Datenverlustproblemen leiden.
quelle