|/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
end
SPAM退治の方法については、私が書いた
ASCII記事
などが参考になるかもしれません。
% cat testmail | lensなどを実行してテストを行なうとよいでしょう。
a/bというフォルダは、
Maildir/.a.b/という
ディレクトリを使うと仮定しています。
これと異なるディレクトリ名を使うMaildirの場合は
プログラムの修正が必要です。