#####*********************************************** # .procmailrc # arranged by TK # 2009/1/23 #####*********************************************** #### 変数の設定 ####----------------------------------------------- ### アドレスの設定 ## 自分のアドレス # ループ防止用に必ず設定して下さい MY_ADDR=myAddr@myaddr.com ## ケータイのアドレス # 使わないときは'#'でコメントアウト MOBILE_ADDR=mobile@mobile.com MOBILE_MAX_SIZE=1000000 ## 他のPC用メールアカウントで管理するとき # (注意)サーバには残りません # 使わないときは'#'でコメントアウト PC_ADDR=anotherPC@anotherPC.com ####----------------------------------------------- ### その他変数 ## ログの記録 # ログをとりたい場合は、以下のコメントアウトを外す # ただし、ログファイルの容量が増え続けるので、動作確認ができたら # ログをとるのを止めてください #LOGFILE=$HOME/procmail.log # ログを詳細に記録したい場合は、以下のコメントアウトを外す #VERBOSE=yes #####*********************************************** #### メールの動作レシピ # ここから下は設定しなくてもOK # 上から順に実行される ####----------------------------------------------- ### 前処理 ## 重複メールの削除 # メーリス(自分を含む)+自分宛といった様な同じメールを削除する :0 Wh: msgid.lock | formail -D 8192 msgid.cache ## メールループの防止 # X-Loopタグが$MY_ADDRのときループメールであると判断 # ループメールの破棄(は怖いので、とりあえず転送しないだけ) :0 HB * $ ^X-Loop: $MY_ADDR #/dev/null $DEFAULT # ループメール判別用フラグの設定 # とりあえず5秒まってから転送をかけるので多少安全 :0 fw | formail -A "X-Loop: $MY_ADDR" ; sleep 5 ####----------------------------------------------- ### 転送処理 ## 携帯に転送 # root, bugzilla 以外からのメールならば # $MOBILE_ADDR に転送 # サイズが大きいときはヘッダだけ転送 :0 c * $ !($MOBILE_ADDR) * ! ^From: .*root.* * ! ^From: .*bugzilla.* * $ !($MOBILE_MAX_SIZE -gt 0) { :0 h * > $MOBILE_MAX_SIZE ! $MOBILE_ADDR :0 ! $MOBILE_ADDR } ## すべてのメールを転送 # 転送先が設定されていれば全てのメールを転送 :0 * $ !($PC_ADDR) ! $PC_ADDR