Spam Mail Killer
2008年02月05日 01:11
ここでは、僕がふだん使っている Spam Mail Killer というツールをご紹介します。
Spam Mail Killer について
このソフトウェアは、eimei さんが開発・公開されている Windows 用のメールチェッカー(POPメール専用)です。「POPメール」とは、プロバイダやレンタルサーバにある「メールサーバ」で受信しているメールを、自宅や会社のメールクライアント(Becky! や Outlook Express など)で取り込む方式が「POP」という通信ルールに従っている場合を指しています。ですから、ブラウザメール(ウェブメール)のようにブラウザでメールの一覧を表示したり、Gmail や Yahoo! メールのようにブラウザ上でメールの送受信をしている場合は、そのメールサービスが「POP」という方式でメールサーバにアクセスすることを許可していない限り、Spam Mail Killer を使うことはできません。ちなみに、Gmai, Yahoo! メール, Hotmail, Excite メールなどは、ウェブメールとしても POP メールとしても使えるように提供されていますが、Infoseek メール, goo メール, Windows Live Hotmail, @nifty メールなどはウェブでの利用に限られていて、POP メールとしては利用できません。
Spam Mail Killer の動作は、削除する条件を指定して、条件に合ったメールをメールサーバから直に削除するという実にシンプルなものです。ですから、削除する条件をうまく指定することがスパムメールを効率的に除去するための鍵になります。
Spam Mail Killer に削除条件として指定できる内容は、以下のとおりです。
- 禁止リスト@差出人(From: 等に関する指定)を使用して削除対象を判断
- 禁止リスト@受取人(To: 等に関する指定)を使用して削除対象を判断
- 禁止リスト@件名(Subject: に対するNGワード指定)を使用して削除対象を判断
- 禁止リスト@ヘッダー(ヘッダーに対するNGワード指定)を使用して削除対象を判断
- 禁止リスト@本文(本文に対するNGワード指定)を使用して削除対象を判断
- 禁止リスト@正規表現(Perl5互換のパターン指定)を使用して削除対象を判断
- 禁止リスト@複数要素(複数要素を組み合わせた条件)を使用して削除対象を判断
- テンプレート(作者制作の禁止リスト@複数要素、編集不可)を使用して削除対象を判断
- 件名に「未承諾広告※」「!広告!」「!連絡方法無!」関連が含まれるメールを削除
- 件名と本文の2バイト文字が計4個以下のメール(主に英文メールが該当)を削除
- 文字(言語)コードで削除対象を識別
- 添付ファイルの拡張子で削除対象を識別
- メールサイズで削除対象を識別
- 日付(Date:)が無いか不正な書式のメールを削除
- 宛先(To:)に指定アドレス(通常は自分のアドレス)が含まれないメールを削除
- 許可リスト(保護対象の指定)に登録されていない(該当しない)メールを削除
これらをうまく組み合わせると、場合によっては劇的な効果があるでしょう。 たとえば、友達とメールのやりとりをしているか、幾つかの EC サイトで買い物したときにユーザ登録しただけなら、
- 友達のメールアドレス
- ECサイトのメールアドレス
この二つ以外から届くメールは、全て削除してもよい筈です。ですから、「許可リスト」に上記のメールアドレスを登録し、許可リストに登録されていないメールアドレスから送られたメールを全て削除してしまえば、殆どのスパムメールはサーバで削除されるため、メールソフトで受信するときにスパムが混入する頻度はきわめて低くなるでしょう。
但し、メールチェッカーというソフトウェアはメールソフトとは別々に動いていますから(当然、Spam Mail Killer はマイクロソフトやメールソフトの販売会社とは何の関係もありません)、メールソフトで受信する前に、メールチェッカーでチェックさせなければなりません。 チェックしてもいないスパムメールを、メールソフトで受信してしまったからといって、Spam Mail Killer のせいにするのはやめましょう。
メールソフトのフィルタリング機能について
さて、もちろんメールソフトにもこういうチェック機能がサポートされている場合はあります。たとえば、僕が使っている Becky! にも、「フィルタリングマネージャ」という機能があり、受信するときに或る条件に合ったメールを、サーバで削除してしまえます。しかし、この機能はメールアカウント別に条件を設定しなくてはならないので、僕のようにメールアドレスを 30 個ほどもっている場合は設定する手間がかかります。 また、受信しなくてもよいスパムメールをチェックするためにメールソフトを起動するというのは、いささか間が抜けているとも思うので、メールチェッカーという種類のソフトウェアを好んで使っています。
また、最近ではメールチェッカーやメールソフトに、「ベイジアン統計によるフィルタリング」というアイディアが出てくるようになりました。これは、要するに幾つかの「事前条件」をスパムメールの特徴として登録しておき、次に受信しようとするメールの「事後条件」と比べて「スパムメールっぽいかどうか」を判定してしまうというアイディアです。このフィルタリング方式を使うと、これまで送られてきたスパムメールの特徴を登録しておけば、これから受信しようとするメールが同じような特徴をもっているかどうかを判定できるようになります。 たいへん強力な機能ではあります。
しかし、Spam Mail Killer も僕自身も、このベイジアンフィルターは使っていません。試験的に Becky! のプラグインとして公開されているベイジアンフィルターを2年ほど使ってみましたが、スパムの特徴を描き出すために何万通のスパムメールをデータベースに登録しても(スパムメールと同じくらい、正常なメールも判定率を向上させるために登録します)、正常なメールをスパム扱いしてしまう誤判定があります。このあたりは、スパム判定するための基準を調整していかなくてはならないのですが、やはり誤判定の不安が消えないまま自動で判定させるというのは怖いです。それに、スパム判定したメールは別のフォルダ(たとえばメールソフトの中にあるごみ箱フォルダとか)に仕分けたりできるのですが、誤判定されて正常なメールが入っていないかどうか、結局はごみ箱を眺めている時間がかかるので、自動的にメールを仕分けてくれるとは言っても、実は効率が大して上がらないという結論に落ち着きました(もちろん、スパム扱いされたメールは正常な相手からのメールでも無視するという方針を採用すればいいのかもしれませんが)。ですので、現在はスパムだと判定する条件を自分で正確に設定できる Spam Mail Killer だけを使っています。
