procmailrc-Killfileの受信者アドレスは何ですか?

procmailrc-Killfileの受信者アドレスは何ですか?

procmailrc(スパム用の一時アドレスのみを許可)を使用して特定の受信者アドレスからのメールをブロックしたいと思います。

killfile/blacklistを使用してコード例を見つけましたが、送信者アドレス(FROM)でのみ機能します。

FROM=`formail -xFrom: | sed -e 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`
:0

* ? fgrep -qxis $FROM $PMDIR/killfile

/dev/null

受信者アドレス(TO)で機能するようにこのコードをどのように調整しますか?不要な受信者アドレスをテキストファイルにリストできることをお勧めします。

私が正規表現の経験がないので、わかりやすく答えていただければ幸いです。

私の目標は、ブロックするアドレスを簡単にリストすることです。

[email protected]
[email protected]

procmailrcでは、次のことを行う必要があります。

:0:
* ^To.*[email protected]
/dev/null

:0:
* ^To.*[email protected]
/dev/null

これは、新しいアドレスを入力するよりもはるかに面倒です。

ベストアンサー1

テストに便利なprocmailはありませんが、ここに1つの方法があります。

:0
* ^TO_(one@example\.com|two@example\.com|three...)
/dev/null

アイデアは、「^TO_」魔法正規表現で各スパム宛先アドレスを代替/可能性として処理することです。スパムアドレスと一致すると、電子メールは/ dev / nullに転送されます。 「すべての単一文字」という一般的な正規表現の意味を維持するのではなく、ピリオドと一致するように電子メールアドレスからピリオドを賢くエスケープしました。あなたのスパムアドレスは、「one@exampleJcom」(「J」は任意の文字を表す)でアドレス指定されたEメールを受信する可能性が低いため、実際には問題になりません。

私はプロセスをシンプルでprocmail内に保つので、このアプローチが大好きです。

INCLUDERCスパムターゲットのリストが頻繁に変更される場合は、各スパムターゲットの「/dev/null」レシピを含むmakefileを抽出するなど、他のアプローチを考えてみましょう。

「複数の条件を論理的にORする方法は?」プロメールのよくある質問文法を扱いますone|two|three。構文は^TO_次のとおりです。プロモールクイックリファレンスまたはあなたの地域でpeopleprocmailrc

おすすめ記事