Procmail レシピTips
- Linux
 - 
                        
2013-02-06                                                                                                 - 更新:2013-02-07                                             
この記事は最終更新日から1年以上経過しています。
                    
                    Procmailにてレベルを定義し振り分けをおこなう方法と
ORによる条件判定の方法。
LEVEL=2
レベル2のとき適用
:0
* $LEVEL ?? 2
{
    # 逆引きできないホストを経由したメールの場合
    :0Hfw
    * ^Received: .*from.*unknown
    | formail -I "X-Spam-Flag: True"
}
レベル2以下のとき適用
:0
* 9876543210^0 $LEVEL ?? 2
* 9876543210^0 $LEVEL ?? 1
{
    # 容量を60MBに制限
    :0Hfw
    * > 60000000
    | formail -I "X-Spam-Flag: True"
    # スパムフラグがTrueだったとき指定したディレクトリへ
    :0H
    * ? test -d $MAILDIR/spam
    * ^X-Spam-Flag: True
    $MAILDIR/spam/.
}
9876543210^0について
通常、ProcmailのレシピはANDとして処理されます。
9876543210^0は実際にはスコアリングを使用するためのもので、
結果としてOR条件のようなものとして評価されるだけです。
または
:0
* ? test $LEVEL -le 2
{
    # 容量を60MBに制限
    :0Hfw
    * > 60000000
    | formail -I "X-Spam-Flag: True"
    # スパムフラグがTrueだったとき指定したディレクトリへ
    :0H
    * ? test -d $MAILDIR/spam
    * ^X-Spam-Flag: True
    $MAILDIR/spam/.
}
test 数値1 -le 数値2という書式で、数値1が数値2より小さいか同じ場合にTrueを返します。
                        この記事がお役に立ちましたらシェアお願いします
                    
                    
                
                        3,104 views 
                                                                    
                    
                



