作成日: 2015/08/28

bsfilter を利用した Becky! 用の迷惑メールフィルタープラグイン

概要

bsfilterNABEYA Kenichi さんが公開されている、日本語完全対応の学習型ベイジアン・スパム・フィルタです。

Becky!有限会社リムアーツ さんが販売されている、メールクライアントソフトです。

bsfilter を利用した Becky! 用の迷惑メールフィルタープラグインを作ってみました。 作成に使用した Becky! Plug-In SDK は(2011/06 現在で)最新の B2PinSDK-25000.zip です。

動作環境は以下のとおりです。

※バージョン 0.0.0.43 から bsfilter(スクリプト版) での実行に対応しました。

OS
  • Windows XP SP3 以上
  • Windows Vista SP1 以上
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows 10
    ※動作確認し NOTE.txt のみ差し替えたため、バージョン番号は変更していません。
Becky!
  • Becky! Ver.2.50 以上
Ruby (bsfilter(スクリプト版) を使用する場合のみ必要です)
  • bsfilter(スクリプト版) に対応したバージョン

ご注意

動作には何の保証もありません。バグは確実にあります。
大変申し訳ありませんが、本プラグインを利用して発生するであろう損害の責任は持てませんので、必ずご自身の責任においてご使用ください。m(_*_)m

本プラグインでは、Becky! のデータフォルダ(Becky! のメールデータなどを格納するフォルダ)下に設定ファイルや bsfilter のデータベースを作成します。
Vista 以降の Windows では Program Files フォルダ配下への書き込みが制限されているため、もし、Vista 以降をお使いで、 Program Files 下にデータフォルダを作っている場合、書き込みができず、本プラグインは動作しないと思います。
データフォルダを別の(書き込み可能な)フォルダにしていただくか、データフォルダに書き込みできる権限を付与してください。
※実際には VirtualStore 行きになるとは思うのですが、そういう環境でテストしていないもので。。。すみません。

プラグインのダウンロード (バージョン 0.0.0.51)

実行には、別途、bsfilter.exe が(そして、もちろん Becky! も)必要です。

※bsfilter.exe 使用時に必要な iconv.dll は当方でビルドしたものを同梱してあります。

また、バージョン 0.0.0.43 以降で bsfilter(スクリプト版) を使用する場合には、別途、bsfilter(スクリプト版) と ruby.exe が必要になります。

別途必要となるモジュールのダウンロード
  • bsfilter

    bsfilter プロジェクト(NABEYA Kenichi 様) からダウンロードしてください。

  • Ruby (bsfilter(スクリプト版) を使用する場合のみ)

    オブジェクト指向スクリプト言語 Ruby などからダウンロードし、事前にインストールしておいてください。

    ※必ず bsfilter(スクリプト版) に対応したバージョンをご使用ください。
    対応していないバージョンの場合、正しく動作せず、Becky! ごと落ちる場合があります。

    ※テストにはバージョン「ruby 2.1.0p0 (2013-12-25 revision 44422)」を使用しました。

その他のダウンロード
  • libiconv 1.9.1

    iconv-1.9.1-dll.zip (671 KB)

    ※libiconv は GNU LGPL に基づき配布されています。詳細はダウンロードファイルに添付の documents\COPYING.LIB をご覧下さい。

    ※ビルドには Microsoft Visual C++ 6.0 SP6 を使用しました。

    ※bsfilter.exe 使用時に必要な iconv.dll は プラグインのダウンロード のファイルに同梱してありますが、 念のため iconv.dll のみダウンロードできるように再掲示しました。

    ※当方でビルドしたものを同梱する以前は、長らく KaoriYa 様で公開されています Libiconv DLL 1.9.1 for Windows (713KB = 730504) 02-Dec-2003 にリンクさせていただいておりましたが、現在ではリンク先が旧サイトとなっております。長々気付かず申し訳ありませんでした。

プラグインのプログラムソース

Visual Studio 2010 (C++) プロジェクトです。

スクリーンショット (バージョン 0.0.0.49 時点のものです)

設定ダイアログ (動作設定)

設定ダイアログ (動作設定)

設定ダイアログ (その他の設定)

設定ダイアログ (その他の設定)

設定ダイアログ (ホワイトリスト)

設定ダイアログ (ホワイトリスト)

設定ダイアログ (OKワード)

設定ダイアログ (OKワード)

設定ダイアログ (NGワード)

設定ダイアログ (NGワード)

メニュー

メニュー
使い方

詳細はダウンロードファイルに添付の NOTE.txt を参照下さい。
※NOTE.txt を HTML に起こそうと思ったのですが、力尽きてしまいました。。。

NOTE.txt
謝辞

以下の文献、プログラム、リソースを利用させていただきました(順不同)。
有益な情報をご提供いただき深謝いたします。
※URL は 2011/06 時点のものです。

セットアッププログラムの使い方

大変申し訳ありませんが、本プラグインの実行に必要なモジュール (bsfilter.exe または bsfilter(スクリプト版)) は同梱していません。 別途ダウンロードしていただく必要があります。

また、bsfilter(スクリプト版) を使用する場合、お手数ですが、事前に Ruby をインストールしておいてください。

セットアップの手順

※必ず Becky! を終了してから行って下さい。

  1. セットアッププログラム付きの InstallBkBsfilWrapper.zip をダウンロードします。

  2. ダウンロードした InstallBkBsfilWrapper.zip を適当なフォルダに展開します。

    適当なフォルダに InstallBkBsfilWrapper.zip を展開する
  3. 別途ダウンロードした bsfilter.exe または bsfilter(スクリプト版) を、展開したフォルダ下の BkBsfilWrapper フォルダ下にコピーします。

    bsfilter.exe の場合

    bsfilter.exe、iconv.dll をコピーする

    bsfilter(スクリプト版) の場合

    bsfilter をコピーする
  4. 展開したフォルダ下の InstallBkBsfilWrapper.exe を実行します。

    InstallBkBsfilWrapper.exe を実行する
  5. UAC の昇格ダイアログが表示された場合、管理者のパスワードを入力するなどして続行してください。

  6. bsfilter.exe と bsfilter(スクリプト版) のどちらを使用するかを選びます。

    bsfilter.exe を使用する場合は、「はい」を選んでください。

    bsfilter(スクリプト版) を使用する場合は、「いいえ」を選んでください。

    使用する bsfilter を選択する
  7. インストールする場所を指定し (通常は「B2インストールフォルダの下のpluginsフォルダに」を選んで下さい)、「次へ」をクリックします。

    インストールフォルダを指定する
  8. プラグインファイルがコピーされます。「完了」をクリックしてセットアップを終了して下さい。

    セットアップの完了

以上でプラグインのインストールは完了です。

bsfilter(スクリプト版) を使用する場合は、インストールの完了後、プラグインの設定で「その他の設定」-「bsfilter スクリプトを利用する」にチェックを入れ、「ruby.exe のパス」に事前にインストール済みの ruby.exe を指定してください。

bsfilter(スクリプト版)の設定

セットアッププログラムを使ってプラグインをインストールした場合は、一緒にインストールされる bkpiinst.exe を使ってアンインストールできます。

アンインストールの手順

※必ず Becky! を終了してから行って下さい。

  1. Becky! のインストールフォルダ配下の bkpiinst.exe を実行します。

    bkpiinst.exe を実行する
  2. UAC の昇格ダイアログが表示された場合、管理者のパスワードを入力するなどして続行してください。

  3. 「B2 PlugIn Uninstaller」が表示されますので、一覧から「B2 PlugIn - BkBsfilWrapper」を選択してから、「アンインストール」をクリックします。

    BkBsfilWrapper をアンインストールする
  4. 確認のメッセージボックスで「はい」をクリックします。

    アンインストールの確認
  5. プラグインのアンインストールが行われ、「B2 PlugIn - BkBsfilWrapper」が一覧から削除されます。「閉じる」をクリックします。

    アンインストールの完了

以上でプラグインのアンインストールが完了です。

なお、bkpiinst.exe が他のプラグインのインストーラとして使われていない場合、bkpiinst.exe を起動しても一覧には何も表示されません。

空の一覧

この状態であれば、Becky! のインストールフォルダ配下の bkpiinst.exe を削除しても構いません。
ただし、一覧に何らかのプラグインが表示されているにもかかわらず、bkpiinst.exe を削除してしまった場合、手作業でプラグインを削除することになりますので、 ご注意下さい。

Windows Vista、および 7 などでは、bkpiinst.exe 実行後にプログラム互換性アシスタントによるメッセージが表示される場合がありますが、 プラグインの削除は正しくできていますので、「キャンセル」をクリックしてダイアログを閉じて下さい。

プログラム互換性アシスタントによるメッセージ
古いバージョン (プラグインとプロジェクト一式)

0.0.0.50 BkBsfilWrapper.all.0.0.0.50.zip (1.10 MB)

0.0.0.49 BkBsfilWrapper.all.0.0.0.49.zip (1.10 MB)

0.0.0.48 BkBsfilWrapper.all.0.0.0.48.zip (1.10 MB)

0.0.0.47 BkBsfilWrapper.all.0.0.0.47.zip (1.10 MB)

0.0.0.46 は修正の都合によりバージョンを振ったため公開しておらず、欠番です。

0.0.0.45 BkBsfilWrapper.all.0.0.0.45.zip (1.09 MB)

0.0.0.44 BkBsfilWrapper.all.0.0.0.44.zip (1.05 MB)

0.0.0.43 BkBsfilWrapper.all.0.0.0.43.zip (1.05 MB)

0.0.0.42 BkBsfilWrapper.all.0.0.0.42.zip (453 KB)

0.0.0.41 BkBsfilWrapper.all.0.0.0.41.zip (453 KB)

0.0.0.40 BkBsfilWrapper.all.0.0.0.40.zip (452 KB)

0.0.0.39 BkBsfilWrapper.all.0.0.0.39.zip (451 KB)

0.0.0.38 BkBsfilWrapper.all.0.0.0.38.zip (451 KB)

0.0.0.37 BkBsfilWrapper.all.0.0.0.37.zip (451 KB)

0.0.0.36 BkBsfilWrapper.all.0.0.0.36.zip (450 KB)

0.0.0.35 BkBsfilWrapper.all.0.0.0.35.zip (444 KB)

0.0.0.34 BkBsfilWrapper.all.0.0.0.34.zip (444 KB)

0.0.0.33 BkBsfilWrapper.all.0.0.0.33.zip (443 KB)

0.0.0.32 BkBsfilWrapper.all.0.0.0.32.zip (443 KB)