|/usr/local/bin/lens
:smtp_host | SMTPホスト名(携帯への転送で利用) |
:local_address | 自分のメールアドレス |
:mobile_address | 携帯メールアドレス |
:maildir | Maildirディレクトリ |
:non_important_mls | 重要でないメーリングリスト名のリスト (携帯に転送しない) |
:subject_patterns | Subject:からのメール振り分けパタン |
:from_patterns | From:からのメール振り分けパタン |
:spam_patterns | SPAMメールのパタン |
# Configuration for Lens LensConfig = { :smtp_host => 'mail.example.com', :local_address => 'masui@example.com', :mobile_address => 'masui@ezweb.ne.jp', :maildir => "#{ENV['HOME']}/Maildir", :non_important_mls => { 'test-ml' => 'test-ml', }, :subject_patterns => { 'xyz-ml' => 'xyz', }, :from_patterns => { # To: Cc: にも適用される 'yamada' => ['person/yamada', '01yamad'], }, :spam_patterns => { 'Content-type' => [ /gb2312/i, ], 'From' => [ /SmallCap/, ], 'Subject' => [ /ink.*jet.*toner/i, /health.*insurance/i, ], } }
Subject
やFrom
の
パタンマッチングによるSPAM判定しかサポートしていませんが、
Messageクラスのspam_contents?メソッドを自分で定義すれば
任意のSPAM判定プログラムを利用することができます。
すべての人に有効なSPAM判定プログラムがあれば classify.rb内でこのメソッドを定義すればいいのですが、 そうでない場合は自前のSPAM判定プログラムを利用した方が良いでしょう。 私は以下のように~/.lensrc内でspam_contents?を定義することにより bsfilterという SPAM判定プログラムを利用しています。
class Message def spam_contents? system "/home/masui/bin/bsfilter -m rf --homedir /home/masui/SpamFilter/.bsfilter < #{path}" end endSPAM退治の方法については、私が書いた ASCII記事 などが参考になるかもしれません。
% cat testmail | lensなどを実行してテストを行なうとよいでしょう。
a/b
というフォルダは、
Maildir/.a.b/
という
ディレクトリを使うと仮定しています。
これと異なるディレクトリ名を使うMaildirの場合は
プログラムの修正が必要です。