POPFile
日ごろからスパムメール対策に苦慮していたんですが、Windows で素晴らしいソフト 123pop というシェアウェアがあるので、それで対応していました。
このソフトは、メールサーバにアクセスして、特定のルールに沿ったメールを削除してくれたりするソフト。メールソフトでメールを受信する前に「英語だけのメール」というルールで削除したりするので、とっても便利です。
がしかし、iMac ユーザーのチプルとしては、Windows も起動しなければならないのは、ちょっと辛いところでした。メールは Mac で受信しているもので‥‥。
「Mail」の迷惑メール振り分け機能を使ってみたんですが、あと少しがんばってほしい感じです。
そこで、巷で噂の POPFile というソフトを導入してみました。このソフトは、メールソフトとメールサーバの間で動作するソフト。しかも、Perl 上で動作する Web アプリケーションです。
Mac OS X を使っているなら、うってつけのソフトかもしれませんね。
POPFile は、メールソフトが受信の動作をすると、メールソフトの替わりにメールサーバからメールを受信してくれます。そして、そのメールが SPAM かどうか判断します。厳密に言うと、POPFile の学習機能で、メール本文などに含まれる単語を覚えていきます。その単語に沿って、メールを振り分けしてくれます。
振り分けられたメールには、件名やヘッダ(From とか To とか、そのメールの情報が記載されているところ)の中に「SPAM だよ」という記述を追加してくれるんです。
そのままメールソフトでメールを受信すれば、あとはメールソフト側で、その件名やヘッダでごみ箱や迷惑メールフォルダに自動振り分けするだけです。
初めは手動で学習させる必要がありますが、最終的には 99% の精度になるんだとか。
せっかくなので、Mac OS X の Panther に特化した導入手順を残しておきます。
1. ソフトのダウンロード
アンオフィシャルなようですが、なんと Panther 用のインストーラーが用意されています。これを使えばダブルクリックしてインストールできます。
ここからダウンロードしましょう(2005-04-18 現在は POPFile Japanese Support for Mac OS X Panther 0.22.2 がダウンロードできます)。
2. インストール
ダウンロードしたファイル「POPFile-0.22.2.tar」を解凍します。
「POPFile-0.22.2.pkg」というファイル名で解凍されるので、ダブルクリックしてインストールします。
インストールでは、特に設定することはありません。
3. POPFile コントロールセンターにアクセス
インストールが完了したら、さっそくアクセスしてみます。
ブラウザから、「http://127.0.0.1:8080/」というアドレスでアクセスします。
初めは英語で表示されていると思うので、「Configuration」をクリックして、言語を選択します。「Choose Language」で「Nihongo」を選択して Apply をクリックします(せめて「Japanese」のほうがカッコイイのに‥‥)。
4. 「バケツ」の設定 その 1
「バケツ」というのは、ユーザーが任意で作成できる振り分け先です。
デフォルトでは「unclassified」というのが、ひとつあります。これは、「まだ振り分けてないよ」ということみたいです。はじめは、すべてのメールが「unclassified」になります。
まずは、バケツを作ってみましょう。
管理の「バケツ作成」で、「spam」と入力して作成をクリックします。これで、サマリーのところに「spam」が出来ました。チプルはもうひとつ「other」というバケツも作りました。
これで、受信したメールを「スパム(spam)かそれ以外(other)のメール」に分けることができます。もっと細かく分けたい、という人は、もっとたくさんのバケツを作ると良いでしょう。
ちなみに、ここで作成されたバケツの名前が、そのまま件名やヘッダに追記されます。無難に英語の名前がよいでしょう。
5. 「バケツ」の設定 その 2
作ったバケツは、デフォルトで「件名の変更」が ON になっています。この設定は、メールソフトでメールを受信したとき、件名の先頭に [spam]、[other]といった文字列を追記してくれます。
同様に「X-Text-Classification」「X-POPFile-Link」のヘッダも ON になっています。
「X-Text-Classification」は、受信したメールに「X-Text-Classification」というヘッダを追記し、そこに「spam」「other」という値を記述してくれます。
「X-POPFile-Link」は、そのメールに記述された件名やヘッダの内容に間違いがあった場合、設定を変更するためのアドレスが追記されます。
Mac の「Mail」では、ヘッダの記述内容でメールを振り分けることができます。チプルは、「件名」は OFF にして「X-Text-Classification」「X-POPFile-Link」を ON にしました。
POPFile で最低限必要な設定は、以上みたいです。
「セキュリティ」や「詳細設定」などは、なにもしなくていいみたいですよ。
6. 「Mail」の設定 その 1
「Mail」で受信したメールの振り分けを設定するので、「環境設定」を開きます。
「迷惑メール」機能をそのまま使う場合は、「迷惑メールフィルタを有効にする」にチェックを入れて、「"迷惑メール" メールボックスに移動する」にチェックを選択します。
「詳細...」をクリックして、ルールを細かく設定します。
「以下の条件すべてが」一致のままでよいでしょう。
条件に「ヘッダリストを編集...」を選択し、「X-Text-Classification」というヘッダを追加します。すると条件の選択欄に「X-Text-Classification」が From や To と一緒に表示されるようになります。
あとは「X-Text-Classification」を選択して、「spam」と等しいという条件に設定してあげます。メールの移動先は、「迷惑メールフォルダ」で良いでしょう。
「ルール」でも、同様の設定をすることができます。
「迷惑メール」機能を使っていない場合は、普通のフォルダを作成してそちらに振り分ける設定にしましょう。
7. 「Mail」の設定 その 2
メールソフトでメールサーバに直接メールを受信しては、POPFile の意味がありません。なので、メールの受信先をメールサーバではなく、POPFile に変更する必要があります。
「環境設定」の「アカウント」で、受信用メールサーバを「127.0.0.1」に変更します。
そして「ユーザ名」のところに、今まで受信用メールサーバで登録していたサーバを入力し「 :(コロン)」を挟んでユーザ名を入力します。「サーバ名:ユーザ名」と入力します。
この写真の例だと、サーバ名が「pop3.server」、ユーザ名が「username」なので「Mail」の「ユーザ名」には「pop3.server:username」と入力します。
パスワードや送信用メールサーバ(SMTP)は、そのままで OK です。変更する必要はありません。
8. 「Mail」の設定 おまけ
必須ではありませんが、メールを読むときにヘッダの情報をデフォルトで表示しておくと、POPFile がどんなことをしてくれているのか、分かりやすいです。
「環境設定」の「表示」で、「ヘッダの詳細情報を表示」から「カスタム...」を選択します。そして、「X-Text-Classification」「X-POPFile-Link」を入力して追加ておきます。
これでメールを開いたときに、「X-Text-Classification」「X-POPFile-Link」の情報が必ず表示されるようになります。必要無くなってきたら、削除しちゃってもよいです。
事前の準備は以上で終了です。
9. メールの受信
それではメールを受信してみましょう。
受信したメールを開くと、ヘッダに「X-Text-Classification」「X-POPFile-Link」が表示されていると思います。「X-Text-Classification」には「unclassified」、「X-POPFile-Link」には「http://127.0.0.1:8080/jump_to_message?view=xx」といったアドレスが記載されていると思います。
このままでは、まだまだ POPFile が勉強不足で「ぜんぜん振り分けしてないよ(unclassified)」ということになります。
10. 振り分けを学習させよう
学習させるには、POPFile コントロールセンター(http://127.0.0.1:8080/)にブラウザからアクセスします。
「履歴」を見ると、さきほど受信したメールの一覧が表示されていますよね?
「分類」が「unclassified」になっていると思うので、それぞれのメールのプルダウンメニューで「spam」や「other」を選択し、「再分類」ボタンをクリックします。
また、メールのヘッダに記載された「X-POPFile-Link」のアドレスをコピペしてブラウザから開けば、そのメールを再分類することもできます(クリックできれば便利なんですけどね)。
この学習機能を面倒と思うかもしれませんが、だいたい 100通ほどの SPAM メールを手動で振り分けていると、ほとんど変更することなく「X-Text-Classification」が「spam」になってくれます。
なかなか賢いです。
問題点は、日本語のメールが「履歴」のページで文字化けしてしまうことでしょうか。「詳細設定」の「 html_language」を「Nihongo」にしても、うまく表示できません。
解決方法をご存知の方は、教えてくださいね。
POPFile は個人で使用してもいいですが、複数のユーザで共有して利用するのも、良いかもしれません。Web アプリケーションなので企業のサーバに導入すれば、みんなで SPAM メールの情報共有することが可能になりますね。
振り分けの精度はまだ未知数ですが、これで本当に 99% の精度なら、フリーソフトというのはすばらしいです。
ちなみに残りの 1% があるので、うっかり普通のメールを「spam」にしちゃうときがあるようです。受信したメールをいきなり削除するのではなく、万が一間違って振り分けていないか、定期的に確認したほうがよいと思います。