子子子子子子(ねこのここねこ)はてブロ部

Macネタが主のIT記事と、興味ある展覧会リストや観覧感想などを書いてますよ。自転車ロードレースも好き。

Thunderbirdのmbox形式をmh形式にしてみたい

Hyper Estraierはかなり速い。
なので情報を全てHyper Estraierにぶち込んでみたくなってきた。

先日、EudoraのメールボックスThunderbirdに変換した。しかし、Thunderbirdの検索は、すごく速いわけではない。さらに10年分の本文検索をかけると、やはりかなり時間がかかる。

ということで、メールをHyper Estraierで検索させてみたい。
しかし、mboxでは1メールボックス1ファイルなのでよろしくない。1メール1ファイルのmh形式にすべきなのだ。

変換、というか、ぶった切るには、mh付属の内部コマンドincmを使うと良いらしい。mboxだろうとmhだろうと取り込み可能なのだそうな。

で、mhってどこにあるんだ?とWebを探してみると、Mac OS Xで動くやつはCarbon Emacsの中に入っていた。
http://homepage.mac.com/zenitani/emacs-j.html
このEmacs.appパッケージ内を探すと、Emacs.app/Contents/MacOS/bin/incmにバイナリファイルがあった。
これをコピーしてきて、mboxファイルと同じ場所に移してきた。

試しに変換してみる。先にmh形式のファイルを入れるフォルダを作っておく。

incm -b -d 元のmboxファイル -i 目的のmhフォルダ

はい、ぶった切ってくれました。

しかし、メールは素のままなので、大半はJISなのだがUTF-8のものもあり。一番手強いのが、日本語のくせに「quoted-printable」なもの。miでもJeditでも読めない…。

nkfを通せば変換可能なのは分かったのだけど、もちろんMacにはまだ入っていない。MacPortsにはあるようなので、入れてみることにしよう。
MailKanjiFixerが懐かしい…。



追記:
http://hyperestraier.sourceforge.net/uguide-ja.html#formats
を見ると、Hyper EstraierMIMEデコードをするらしい。

デフォルトでは、ファイル名の接尾辞が「.eml」「.mime」「.mht」「.mhtml」の場合にMIMEとして扱われます。

estcmd gather […] db [file|dir]
ファイルシステムを探索して文書を登録します。
(中略)
-fmを付けると、処理対象の全てのファイルをMIMEとして扱います。

.mimeとするか、収集の時に-fmを付けるか、ですな。あとポイントは

MIMEにはDateヘッダがありますので、-sdオプションでファイルの更新時刻を持ってくる必要はありません。

というところか。