2016-07-15 8 views
1

procmailで3つのスパムフィルタのうち2つ以上がメールをスパムと見なすかどうかをチェックするにはどうすればよいですか?私はスパムヘッダーの複数のチェックのためにコードが重複したくない。3つのうちの少なくとも2つのprocmail条件が真であるかどうか確認してください

# Invoke bogofilter 
:0 fw 
| bogofilter -C -d /home/shared_directories/bogofilter -p -e 

# Invoke bmf 
:0 fw 
| bmf -d /home/shared_directories/bmf -f text -p 

# Invoke spambayes 
:0 fw 
| sb_filter -d /home/shared_directories/spambayes 

# If two out of three filters agree it's spam, file it. 
:0 
* ^X-Bogosity: Spam 
* ^X-Spam-Status: Yes 
* ^X-Spambayes-Classification: spam 
{ 
# Process the mail 
} 

答えて

0

ベーススコア-1を使用してスコアリングを使用できます。

:0 
* -1^0 
* 1^0 ^X-Bogosity: Spam 
* 1^0 ^X-Spam-Status: Yes 
* 1^0 ^X-Spambayes-Classification: spam 
{ 
    # ... stuff 

単一の条件が一致する場合、スコアはゼロにしかならないため、複合結果は一致しません。 2つ以上の個々の条件がスコアをゼロ以上にする場合、その行動がとられる。

procmailsc manual pageはこのメカニズムを説明しています。あまり広く使われているわけではありませんが、複雑さはたくさんありますが、基本は簡単で簡単です。

関連する問題