procmailを使ってメールを振り分けます。ここでの環境は、exim4とprocmail、dovecotを使用しています。
基本は、各ユーザのホームディレクトリに .procmailrcというファイルを作成し、ファイルの振り分けや SPAMフィルター等のプログラムと連携するように記述します。
振り分けルールをレシピというのですが、まず環境を定義します。
# 最低限必要と思われる設定 MAILDIR=$HOME/Maildir/ # メールの保存先 DEFAULT=$MAILDIR # 条件に一致しなかった時の配送先 LOGFILE=$MAILDIR/procmail.log # ログの保存先
レシピの開始は次のような書式で記述します。
:0 [flags] [ : [locallockfile] ]
flagsには、「H」ヘッダーや「B」本文等を指定し、省略するとヘッダーを対象として処理を行います。
振り分け条件は、「*」で開始し、正規表現(egrepの拡張正規表現と互換)を使用します。
振り分け先のディレクトリを指定する際は「/.」で閉じます。
振り分けの設定は、ホームディレクトリの.procmailrcへ記述していきます。
MAILDIR=$HOME/Maildir/ # メールの保存先 DEFAULT=$MAILDIR # 条件に一致しなかった時の配送先 LOGFILE=$MAILDIR/procmail.log # ログの保存先 :0 * ^From: .*@amazon\.co\.jp.* $MAILDIR.amazon/new/.
:0 * ^Subject:.*iso-2022-jp * ^Subject:.*\/.* * ? echo "$MATCH" | nkf -e | grep '未承諾広告' /dev/null
:0 * ^X-ML-Name: softether ! bnote@kuro_box
アクションに「!」を指定することで、指定されたアドレスに転送します。 アドレスをスペースで区切る事で複数指定することができます。
:0c * ^X-ML-Name: softether ! bnote@kuro_box
「c」フラグを設定することでコピーを残すことができます。
Copyright 1997-2008 BBB All rights reserved.