next up previous
Next: About this document ... Up: 3. メールの自動処理 Previous: 1. メールの転送

2. メールのフィルタリング

特定のメールだけ受け取りを拒否できないか、という質問をうけることが あります。たいていは不快なメールが頻繁に届くためという理由です。 ネットワークは現実世界の一部ですからやはり変なひともいます。たとえば

From: hogehoge@spam.king
Subject: GAMBLING IS 1% LUCK 99% PRACTICE
というヘッダでイヤガラセのメールが毎日届くとしましょう。 もちろんこのメールを送ってくる相手をとっちめるのが正攻法ですが、そううま くいくとは限りません。そうしたときに消極的ですが届いたメールを自動的に選 別して不要なメールを目に触れなくするという手があります。 この自動選別を実現する方法として、ここでは procmail (http://www.procmail.org/) というソフトウェアを紹介します。 ( srv.cc.hit-u.ac.jpには導入済みです)。

まず次のような内容の .forward ファイルをホームディレクトリの下に作 ります。


"|/var/qmail/bin/preline /usr/local/bin/procmail"
'"' も .forward の内容です。これはオマジナイみたいなもの なのでスペース(空白文字)まで込みで間違いのないよう入力してください。 念のため以下のように dot-forward コマンドを実行し

srv% /var/qmail/bin/dot-forward -n .forward
pipe through /var/qmail/bin/preline /usr/local/bin/procmail
となるか確認しましょう。 この段階では通常通りにユーザのメールボックス(Mailbox)にメールが配送され ます。

次に .procmailrc というファイルをやはりホームディレクトリの下に作 ります。このファイルの内容に従って procmail はメールの処理をおこな います。ここでは以下のような内容にします。


0:
* ^From: *hogehoge@spam.king
/dev/null
こうすれば From が hogehoge@spam.king であるメールは到着したとき に自動的に消去されますが、それ以外のメールはいままで同様きちんとメール ボックスに配送されます。
正規表現にマッチしたメールを /dev/null に保存するよう設定したわ けです。1行目の行頭はO(オー)ではなく0(ゼロ)であることに注意しましょう。
もちろん From でなくても Subject その他で選別することも可能です。 詳細はオンラインマニュアル procmail(1) を参照してください。
procmailex(5).procmailrc の設定例が豊富に書いてありま すので、ここから自分の必要に該当しそうな例をコピーして使うのが近道でしょう。

また procmail と同等の機能を持つソフトウェアに maildrop (http://www.flounder.net/~mrsam/maildrop/) があり ます。こちらも srv.cc.hit-u.ac.jp に導入してあります。 詳細は maildrop(1) を参照してください。



nagoya@cc.hit-u.ac.jp