Becky の bmf ファイルを eml ファイルに変換するスクリプト

メールボックスの Quota 溢れのためメールを IMAP サーバーからローカルに落としまくったのだが、ローカルで検索が速いソフトが無くて結構困っていた。検索できないならローカルに落としたくない。

色々探したら MailStore というソフトが結構便利そうなんだけど試用してみたら日本語の検索が上手く行かない。こりゃだめだ、と思っていたら実は単語区切りの認識がダメなだけで日本語自体の検索はできるらしい。たとえば"楽天"を検索すると出てこないけど"*楽天*"として単語区切りに関わらずマッチを探すと大丈夫。私はこの仕様でそれほど困らないので MailStore を頑張って使ってみることにした。

しかし困ったことに MailStore は私が溜めている Becky のファイル(bmf)をインポートできない。そこで適当にコンバーターを書いてみた。日本語の変換とかだるいし、どうせ MailStore で読むんだからファイル名は適当で良いよね、ということで Message-ID をファイル名にし、Message-ID が付いていない奇特なメールは Date ヘッダの中身をファイル名にすることにした。これがコードである。私の何年分かのメールを食わせてもちゃんと動いているように見える(on Windows)。