あなたが私のように1日に1500通ものメッセージを受け取る場合や、 メールを集める毎に興味があるメッセージ全てに努力して目を通さなければ ならない場合があります。
しかしこれはProcmailのおかげでたいして問題になっていません。
Procmailは以下のように動作します:Procmailはメールをダウンロードした時に 各メッセージを調べてユーザーが指定した特定のルールに基づいて一連の処理を します。 例えばあるメーリングリストから1日200通のメールを受け取る場合 (この例ではLinux-foo listを使っています)、これらのメールを全てinboxに送る よりも"foo-list"というボックスに自動的にフィルタしたいものです。
はじめに、メーリングリストからのメールを開いてメールのヘッダを調べてみま しょう。 メーリングリストからのメッセージには全て
Sender: owner-linux-foo@bar.foogers.com
といった行があります。
この行を含んだ全てのメッセージを特定のフォルダに入れることをprocmailに
教えることができます。
procmailにそれを教えるには".procmailrc
"ファイルに
書き込んでおきます。
適当なエディタで"~/.procmailrc
"というファイルを
開きます。
ファイルには以下のように書かれています:
LOGFILE=$HOME/.pmlog MAILDIR=$HOME/mail VERBOSE # linux-foo list :0 Hw * ^.*[Ss]ender: owner-linux-foo@bar.foogers.edu foo-list # if it got to this point, put it in my new mail folder :0 Hw newmail
さてここで私の親友であるEJからメッセージを受け取ったら"EJ"というフォルダ にメールを入れるということをやってみます。 procmailrc ファイルに以下のような新しいセクションを作ります;
LOGFILE=$HOME/.pmlog MAILDIR=$HOME/mail VERBOSE # linux-foo list :0 Hw * ^.*[Ss]ender: owner-linux-foo@bar.foogers.edu foo-list # Message from EJ! :0 Hw * ^.*[Ff]rom: ej@mypal.com ej # if it got to this point, put it in my new mail folder :0 Hw newmail
さて私にメールを送ってくるいやな人がいるとしましょう。 私は彼のメールを見たくないのにしつこくメールを送ってきます。 ここでも再びprocmailが助けてくれます。 例えばBill Gatesさんからのメールを読みたくないものとしましょう。 彼からのメールを削除する方法を設定します。以下新しいprocmailを見て下さい:
LOGFILE=$HOME/.pmlog MAILDIR=$HOME/mail VERBOSE # Is it coming from Bill Gates? If yes, DELETE IT!!! :0 Hw * ^.*[Ff]rom: bgates@microsoft.com /dev/null # linux-foo list :0 Hw * ^.*[Ss]ender: owner-linux-foo@bar.foogers.edu foo-list # Message from EJ! :0 Hw * ^.*[Ff]rom: ej@mypal.com ej # if it got to this point, put it in my new mail folder :0 Hw newmail
はじめにメッセージが"bgates@microsoft.com
"からのものかどうか
チェックしています。もしそうなら削除しています(訳注:いわゆる
「Flames to /dev/null
」です)。
もしひとつめのチェックをパスしたら、ヘッダに
"owner-linux-foo@bar.foogers.edu
"があるかどうか調べます。もしそうなら
"foo-list"フォルダに入れます。
メッセージがまだパスしたら次はEJからのメールがどうかチェックします。 もしEJからのものなら"ej"フォルダに入れます。
以上にひっかからなかったら全てnewmailフォルダて入れます。
これらのフォルダがちゃんとあれば、procmailは適切にメールを振り分けてくれます。
フォルダはTkRatの"Admin - New/Edit Folder" で各ファイル名用のものを作って
おいて下さい。これらは/home/(ユーザー名)/mail/(フォルダ名)
にあります。