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,096 views




