procmailを使用して "to"で私の名前を含むように電子メールをフィルタリングする
-
12-12-2019 - |
質問
Procmailを使用して、私の名前を含まない着信メール( "John Doe")を "To"フィールドに "junk"フォルダに移動します。
しかし、オンラインテストアプリで正規表現を徹底的にテストしたとしても、次の規則はどんな効果もありません。
# Filter spam if the name "John Doe" is not in "To"
:0:
* ^(?!To:.*John\sDoe).*
.Junk/
.
興味がある場合は、Procmailルールファイル全体が次のとおりです。
# Filter mail using SpamAssassin
:0fw: spamassassin.lock
* < 256000
| /usr/bin/spamassassin
# Filter spam based on "Spam-Level"
:0:
* ^X-Spam-Level: \*\*
.Junk/
# Filter spam if the name "John Doe" is not in "To"
:0:
* ^(?!To:.*John\sDoe).*
.Junk/
.
なぜ私のルールがうまくいかないのですか?
お手伝いありがとうございました!
解決
Perl LookaHeadsはProcmailの正規表現レパートリーの一部ではないため、
代わりにこれを試してください。
:0
* ! ^To:.*John[ ]+Doe
.Junk/
.
[]内の空白はスペースとタブにする必要があります。\s
Perlismは、どちらもサポートされていません。
電子メールアドレスをフィルタリング基準として使用するのが良いかもしれません、そしておそらくCC:などをカバーするために^TO_
Specialマクロを使用しているかもしれません。
所属していません StackOverflow