Schi Heil と叫ぶために

hiroakiuno's blog

Becky! から Thunderbird にメールリーダーを変更してみた

プライベートのメール環境はすっかり Gmail に移行したが、会社のメールはさすがに Gmail に転送するわけにいかないので、入社して Windows を本格的に使うようになってからずっと Becky! を使い続けてきた。今でも Becky! は非常によく出来たソフトだと思うが、残念ながらここ最近新たな機能を取り込むような話がなく正直面白くない。思い切って Becky! から Thunderbird 2.0 にメール環境を移行してみた。移行方法に関しては Web を検索すればたくさん見つかるが、私の方法も誰かの役に立つかも知れないのでメモしておこう。

まず Becky! にたまったメールを Thunderbird 形式に変換する必要がある。Thunderbird は伝統的な mbox 形式で、サブフォルダに次のような命名規則がある。

この変換には誰かが作った VBScript を用いるのが一般的なようだが、私はこちらのデータ変換スクリプトを利用した。

ただしスクリプトをそのまま実行すると私の環境では

# b2t: line 19: [: too many arguments

というエラーが大量に出ることと、CircleBecky がディレクトリのみを含むディレクトリで mbox ファイルをはかないため、以下のような修正を加えた。

#!/bin/bash
#
# File Name: b2t
#
# Changed:
#   オリジナルの http://izumino.homeip.net/blog/gon/archives/000943.html に対して以下を変更
#   1. ディレクトリが空であることの判定を if [ -z `ls $file` ] ではなく
#      if [ ! -z `find $file -type d -prune -empty` ] に変更
#   2. touch ${file}.mbox を追加
#
# Notes: 
#   あらかじめ Becky! のフォルダ名をスペースや日本語を含まないものにしておいたほうが無難。
#   なお使用に関してはオリジナル同様、自己責任でお願いします。
#

# [メールフォルダ名].mbox という名前のファイルをすべて一つ上のディレクトリに移動する。
for mbox in *.mbox
do
    if [ -f $mbox ]
    then
        mv $mbox ..
    fi
done

for file in *
do
    if [ -d $file ]
    then
        cd $file
        b2t  # 再帰呼び出し
        cd ..
        if [ ! -z `find $file -type d -prune -empty` ]  # オリジナルから変更
        then
            # 空になったディレクトリはすべて削除する。
            rmdir $file
        else
            # メールフォルダの名前が付いたディレクトリ、サブディレクトリの名前をすべて [元の名前].sbd に変更する。
            mv $file $file.sbd
            # ディレクトリのみを含むディレクトリにも[メールフォルダ名].mboxを作成
            touch ${file}.mbox
        fi
    fi
done

#[メールフォルダ名].mbox というファイルの名前から .mbox という拡張子を削除する。
for mbox in *.mbox
do
    if [ -f $mbox ]
    then
        mv $mbox ${mbox%.mbox}
    fi
done

以上でデータの移行はOK。

次に Becky! との機能比較について。まず、Becky! には無かった Thunderbird の大きなメリットと感じたものは以下の通り。

  1. タグが使える
  2. 検索結果を仮想フォルダとして Watch できる
  3. 添付ファイルの分離ができる
  4. アドオンの開発が活発

時代の流れでタグは必須。ところで ThunderbirdGmail のようにタグ一本化ではなくディレクトリによる分類と併用できる。これはこれで便利な面と使い方に悩む面があるのだが、そもそも Thunderbirdタグ機能は後付けしたものなので、タグ一本化は管理面だけでなくパフォーマンス的にも厳しそうだ。

ただし、Gmail のようにタグだけで済ませられるかというと、やはり、メッセージの管理が Mbox ということで、ファイル(フォルダ)サイズを意識しなければならず、単一(または少数)のフォルダ+タグによる管理というのは難しそうです。 Thunderbird が Mbox を自動的に分割したりして、データベースの心配をしなくてよくなればタグに移行できるかもしれませんけど。しばらくは、フォルダによる管理+タグを試行錯誤していくことになると思います。

Thunderbird 2.0 のタグ - えむもじら

よって Becky! 時代よりはうんと数は減らしたもののある程度のフォルダに分けることにした。ただ、タグが使えるとどうしても多角度からメールを眺めたくなるのでフォルダをまたぐ仮想フォルダとしての 2 の機能は必須。2 自体は Outlook にもある機能だが、タグとフォルダとの併用を考えたとき、新着メールが着たらタグをつけてどこかのフォルダ分類をし、あとから「あとで」タグだけ見る使い方は便利すぎる。また 3 は最初は使えそうな気がしたが、結局分離先のファイルを整理することは出来ないので使用5日目の現段階ではあまり使っていない。ただこの機能は Mew 等でも実装されており最近のメールクライアントの必須機能となっているのかもしれない。

むしろ分離ではなく添付ファイルを圧縮するという機能があるとよいと思う。

一方 Becky! にあった機能で非常に便利だったが Thunderbird には無い(と思われる)ものは以下の通り。

  1. スレッドツール
  2. コンパクト化
  3. 差出人が自分の場合差出人の欄には自分の名前ではなく"-->宛先" を表示する
  4. 新着リスト
  5. 受信済みのメールをサーバーから削除
  6. フォルダの並び順を編集する
  7. フォルダの色分け
  8. フォルダ切り替え時に最初の未開封メールを選択
  9. メール作成画面についていたスケール

タグや多数のアドオンが使える Thunderbird のメリットと比較すると我慢できるものが多いが、逆に言うとそれだけ Becky! は細かいところに手が行き届いていた。この中では 1 が特に残念。会社のメールって途中でなぜか途中でスレッドが切れていたり、全然関係ないのものに Reply してスレッドがつながっていたりする。同意見を掲示板等でも見かけるので勉強してアドオンを作りたいと思うのだが今はまだ誰かを待とう。

最後に、Becky! で便利だった機能で Thunderbird でも実現できたものをメモしておく。

  • 外部編集ツール
    • → アドオンの External Editor で実現できる
  • 署名の切り替え
    • → アドオンの Signature Switch で実現できる
  • 重複メールの削除
    • → アドオンの Remove Duplicate Message で実現できる。
  • メール中のキーワードの色表示
    • → アドオンの Keyword Highlight で実現できる
  • 宛先の自動補完と""部分の削除
  • 返信のテンプレートが「XXさんは書きました」で格好悪い
    • → 設定エディタで mailnews.reply_header_authorwrote と mailnews.reply_header_ondate と mailnews.reply_header_type をそれぞれ「%s wrote」「On %s」「2」としてやる。
    • → 参考:

やっぱり開発が止まっているソフトウェアよりもガンガン進んでいるソフトウェアのほうが使っていて楽しい。