Frage

als im anderen E-Mail-Clients mit meinen Mails i einrichten procmail will lesen / sende an meine E-Mails an einen des Ordner zu verschieben, die normalerweise von Thunderbird Filterfunktion durchgeführt wird.

Ich weiß, dass ich es mit dem folgenden Code für procmail per E-Mail-Benutzer .procmailrc Datei tun können:

:0:
* ^From:.test@host.name.com
myfolder

Aber ich habe eine Liste von etwa 50 E-Mail-Adressen, die Sie mögen würde zu diesen spezifischen „myfolder“ bewegen.

So unter Verwendung

:0:
* ^From:.first@mail.com
* ^From:.second@mail.com
jimsmail

hilft nicht, weil procmail interpretiert sie durch das UND operater verwenden. So würde der Code oben wahr sein, wenn ab der ersten ist @ ... und das zweite @ ..., das wird nie der Fall sein.

Wie verwende ich den OR-Operator.

Eigentlich habe ich eine einfache Textdatei, in der alle E-Mail-Adressen sind. Wäre cool, eine Funktion zu haben, in der procmail bereit, in dieser Datei und prüft, ob von Spielen mit mindestens einer der Zeilen in der Datei, die bewegt E-Mail an „myfolder“.

So etwas wie

 :0:
 * ^From:file(email.txt)
 myfolder

Does anybode wenn dies oder etwas ähnliches möglich. Ich möchte nicht diese 3 Zeilen 50 mal in meiner procmailrc Datei hinzuzufügen.

War es hilfreich?

Lösung 2

Ich fand die Lösung. Mit dieser Lösung im der Lage, eine einfache E-Mail-Textdatei zu verwenden, hält alle E-Mail-Adressen in der jeweils in einer Zeile.

Der Code in meinem .procmailrc ist wie folgt:

EMAILFILE=/path/to/my/emailfile
FROM=`formail -xFrom: | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`
:0
* ? fgrep -qxis $FROM $EMAILFILE
myfolder

Andere Tipps

Procmail verwendet regexps, so dass Sie Adressen mit dem | Charakter trennen können.

:0:
* ^From:.((first|second|third)@mail.com|(fourth|fifth)@othermail.com)
myfolder

funktionieren würde. Könnte mit fünfzig allem in einer Zeile ein wenig chaotisch, Geist ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top