はじめに

Namaham (Namazu + Hamster の略: 勝手に略してすみません) は Windows 上で動作する Classic Hamster IMAP4 サーバ上にあるメールを Namazu 検索エンジンを使用して cmail から高速検索するためのスクリプト・ツールセットです。現在のところ perl スクリプトで実装しています。これを利用すると複数の IMAP4 メールボックス(または cmail でいうところのフォルダ) のどこにあるメールでもほぼ一瞬で検索でき、これを cmail の仮想クライアントフォルダとして表示できるので返信や転送などが cmail 上で非常に気軽にできます。自動分類などの利用しすぎでメールがどこにいったかわからなくなるという泥沼状態でもメールの整理などを全く気にせず安心して放置できます。 (ただしディスクスペースがなくなるまでという限定つきですが。)

Namazu 自体が perl に依存しているので安易に perl で実装することにしました。ただ動作でコンソールウィンドウが表示されるとかバックグラウンドで動作中のデーモンを終了させるのにタスクマネージャを使わないといけないなど結構ださださなのと、やってることが非常に単純なのにかかわらずメモリを必要以上に使用するので、なんとかしたいと思ってます。しかし時間もないのでしばらくこのままでしょう。もしなんとかするならSearchm 修正案 を使用してIMAP4 サーバに統合する形にしたいと思っています。

検索のプロトコルは単純なので cmail からではなく他の MUA にも結構簡単に実装できると思います。が、いまのところ cmail しかもスナップショットリリースでしか使えません。

以下概略図です。

 

インストール

インストールは Namazu をインストールするのが手順のほぼ 80% を占めているのではないかと思います。Namazu のページを参考にインストールしてください。ここではわたしが行った手順を例として説明します。(手順間違いなどありましたら指摘してください。)

 

ActivePerl パッケージのインストール

まずは Perl のインストールです。ActiveState の ActivePerl のページからダウンロードします。ページ左上の [Download] → [Next] から ActivePerl 5.6.1 Windows [MSI] をダウンロードしました。 2004/1/4 現在 build 635 です。デスクトップに保存してダブルクリックしてインストーラを起動します。[Next]→[I accept the terms in the License Agreement]+[Next]→[Browse] と進んでインストール先を指定してください。この例では [C:\Perl\] に指定しています。ここでは全モジュールをインストールしました。

注意: ActivePerl のデフォルトのインストール先は C:\Perl\ ではなく D:\Perl\ などになっているかもしれません。Namaham のデフォルトおよびここでのインスール例は C:\Perl\ を仮定してます。インストール先を C:\Perl\ 以外にしている場合 Namaham のファイルを変更しなければいけませんので特にご注意してください。

namaham-perl-inst-1

あとは全部 [Next] で最後に [Install] でインストール、完了を待ちます。完了したら [Finish] でインストール終了です。

注意: Namazu についてくる依存 perl モジュールが 5.6.1 用みたいですのでここでは 5.8 系はインストールしてません。5.8系を使用したい場合は別途 5.8 用のモジュールを用意する必要があるようです。

 

Kakasi および Namazu パッケージのインストール

次に Namazu for Win32 のページから最新の Namazu パッケージをダウンロードします。同じページに kakasi パッケージも見つかります。2004/1/4 現在 nmz2012.zip と kakasi-2.3.4.zip がこのページからダウンロードできます。デスクトップに保存して zip を解凍します。

解凍したフォルダ内の kakasi フォルダはまるごとインストール先にコピーします。ここでは kakasi-2.3.4\kakasi を C:\Kakasi としてコピーしてます。これだけです。

namaham-kakasi-inst-1

 

Namazu については解凍したフォルダ内の namazu フォルダをまずまるごとインストール先にコピーします。ここでは nmz2012\namazu を C:\Namazu としてコピーしてます。そのあと、梱包されている NMZSETUP.BAT を実行します。[Start]→[Run...]→ cmd.exe [OK] でコンソールウィンドウを起動し C:\Namazu ディレクトリに移動して nmzsetup<CR> とタイプすると環境変数設定、コマンド用バッチファイル作成、perl モジュールのインストールなど必要な作業をしてくれます。

namaham-namazu-inst-1

namaham-namazu-inst-2

namaham-namazu-inst-3

namaham-namazu-inst-4

エディタが立ちあがって C:\Namazu\README.txt を表示しますのでこれに目を通します。特に [3.使い方] セクションの [動作確認] [試しに動かしてみる] の項目と [6. 環境変数について] のセクションを注意して読んでおくことをお勧めします。

 

Kakasi および Namazu パッケージの動作試験

ここで Namazu をやっておきます。README.txt の[3.使い方] [動作確認] [試しに動かしてみる] の項目の指示通りに以下のコマンドを順に実行し、結果を確認します。

 

 

C:\>namazu --help

 

C:\>mknmz --help

 

C:\>mknmz -O C:\Namazu\var\namazu\index C:\Namazu\share\namazu\doc\

 

C:\>namazu "Namazu を初めて使う"

以下は3番目と4番目のコマンドの実行結果です。日本語のコマンド結果の表示がでない、検索がうまくいかない、などのトラブルがあったらここで解決しておきます。うまくいかない場合は README.txt 内 [6. 環境変数について] 項目を片っ端からチェックしてください。特に参考ヒット数の分かち書きなどがうまくいっていない場合などはkakasi関係の環境変数の問題が考えられます。環境変数を変更した場合、テストを再実行する場合は C:\>del C:\Namazu\var\namazu\index\*.* でインデックスを削除してインデックス作成から再テストします。

 namaham-namazu-chk-1

namaham-namazu-chk-2

 

Namaham のインストール

すでに Classic Hamaster IMAP4 サーバはインストールされているものと仮定します。まだの場合は Hamster IMAP4 のページを参考にインストール、動作確認してください。cmail は cmail-2.62+20031231.tar.gz より新しいバージョンを SourceForgeJP からダウンロードしてインストールしておきます。cmail のインストール方法はここでは説明しません。

Namaham は contrib/namaham 以下に Namaham.ini.dist, Namaham.pl, NamahamDbBld.hsc, NamahamDbBld.pl, NamahamStart.hsc ファイルがありますのでこれを全部 Hamster のトップディレクトリにコピーします。このあとコピー先で Namaham.ini.dist を Namaham.ini にりネームします。これでインストールは終わりです。

namaham-pkg-inst-1

namaham-pkg-inst-2

 

Namaham の設定および動作確認

エディタで Namaham.ini を開きます。各種パスをインストールした Perl, Kakasi, Namazu のインストール先に併せて調整してください。[Account1] User1 を Hamster で作成したアカウントの名前に変更します。この例では、goodguy というアカウントを Hamster IMAP4 インストールのページつくりましたので goodguy に設定してます。

namaham-pkg-config-1

 

あと NamahamDbBld.hsc と NamahamStart.hsc の Hamster スクリプト内の perl のパスを環境にあわせて調整してください。

namaham-pkg-config-2

namaham-pkg-config-3

 

次に Namazu のインデックス作成の動作試験をします。Hamster を起動しトレイアイコンから右クリックし[スクリプト(S)]→[NamahamDbBld]を選択して NamahamDbBld.hsc を実行してみます。コンソールウィンドウが表示されインデックス作成の様子を表示します。こんな感じです。

namaham-pkg-chk-1

 

Namaham.pl の動作試験はまずコンソールでマニュアルでおこないます。[Start]→[Run...]→ cmd.exe [OK] でコンソールウィンドウを起動し Hamster のトップディレクトリに移動して perl Namaham.pl として実行します。その後別コンソールウィンドウを [Start]→[Run...]→ cmd.exe [OK] 起動し telnet localhost 50010 を実行します。接続したら <CR> を押すと [-NO ...] とでるのを確認してください。再度 telnet localhost 50010 で接続して今度は設定したアカウントのユーザ名(ここの例では goodguy) を入力 <CR> をいれて [+OK ...] がでれば確認終了です。

namaham-pkg-chk-2

namaham-pkg-chk-3

telnet と perl を終了しコンソール画面を閉じます。

次に Hamster のトレイアイコンから右クリックし[スクリプト(S)]→[NamahamStart]を選択して NamahamStart.hsc を実行してみます。なにも起こりませんが wperl.exe が起動しているはずですのでこれをタスクマネージャで確認します。

namaham-pkg-chk-4

再度確認のためにコンソールウィンドウから telnet localhost 50010 で接続するか確認しておきます。

注意: 終了させるためには タスクマネージャ → プロセスの終了 で終わらせる必要があります。Hamster を再起動する場合は以前起動したときに走らせた Namaham.pl がそのまま残ってます。再起動時 listen で引っかかり2重に起動することはありませんので通常の使用については気にしないでいいです。ただし Namaham.ini Namaham.pl を書き換えた場合などはタスクマネージャから終了して再起動してください。

最後に Hamster のメニューから [管理(M)]→[自動化...]を開き[アクション]タブを選択、アクション選択のセクションの [Hamster] の項をクリックして展開、その下の [起動時] をハイライトしたあと [スクリプトの実行:] に [NamahamStart.hsc] を指定しておきます。これで Hamster 起動時に Namaham.pl がバックグラウンドで起動します。

namaham-pkg-chk-5

 

cmail の設定および動作確認

cmail の設定は Hamster IMAP4 のページの一番下のところで説明してあるとおり [Search Method:検索の方法]の設定を [Enhanced Search (esa)] にするだけです。

namaham-pkg-cmail-1

 

cmail を起動し Hamster IMAP4 に接続できることを確認しておきます。フォルダモードの画面で INBOX にカーソルを持っていき、おもむろに M-s を押すと検索文字列を入力する画面になります。[(Enhanced-Full-Text)] とでることに注意してください。この例では test を検索しようとしています。

namaham-pkg-cmail-2

 

検索結果は仮想クライアントフォルダにリストされます。

namaham-pkg-cmail-3

 

運用

運用というほどでもありませんが、メールがたまってきたら時々 Index をビルドします。トレイアイコンから右クリックし[スクリプト(S)]→[NamahamDbBld]を選択して NamahamDbBld.hsc を実行します。あとは必要なときに M-s で検索するだけです。

バックアップは Hamster の Mails 以下のメールを CD か何かに定期コピーするぐらいですか。適当なバックアップツールでも使ってください。 Index は再ビルドすればいいのでバックアップは不要でしょう。時々クリーンアップのために Index をすべて消してビルドしなおすのもいいことだと思います。

Namaham/cmail についての質問、議論はできれば cmail ML でお願いします。