2007-10-09

ThunderbirdからWalnderlustに移行する その1

なんだか、thunderbirdの開発が続くか怪しくなってきた。というわけで、thunderbirdからメール環境を移行することを最近考えています。自分のメール環境として必要な要件は以下のとおり
  • オープンソースであること
  • プラットホームを選ばない
とりあえず思いつくのは上記のとおり。なので、Mac OS XについているMail.appや(少なくとも日本では)デファクトスタンダードになっているOEは選択肢にあがらないわけです。あと、プラットホームを選ばないという点ではgmailも候補にあがりそうですが、要件その1にあっていないので却下です。gmailはあくまでもメール環境のバックアップです。 というわけで移行先のメール環境としては以下がリストアップされてきました。
  • sylpheed
  • mew
  • wanderlust
sylpheedは遥か昔に使っていたメーラなので何となく親しみはあります。その他のmewとwanderlustは使おうとして挫折したことはあるけど、使ったことはないです。sylpheedはまだ開発が続いているようですが、Mac OS Xで動かすのがめんどくさそうなので却下。で、mewかwanderlustが残ったわけですが、なんとなくwanderlustに引越してみます。 というわけで、今までthunderbirdに溜め込んできたメールをwanderlustが読める形に変換する必要が出てきました。thunderbirdはmbox形式、wanderlustはmh形式でメールを保存するのでmbox -> mhな変換が必要になります。てきとーにググってみてもwanderlustからthunderbirdへ移行した人は結構いるっぽいけど、逆はなかなかいなかったです。 しかたないので、mewに付属しているincmというプログラムに1回喰わせて、mh形式に直してみます。incmを使う時点でmewに移行しろよ、という気がしなくもないですが、初志貫徹ということでもう少しwanderlustにこだわってみます。 以下は大まかな手順です。
  1. thunderbirdで溜めたメールを適当なディレクトリにコピー Mac OS Xでは~/Library/Thunderbird/Profiles/文字列/Mail/Local Folders にメールが溜め込まれているので、このディレクトリをコピーします。
  2. mboxファイル全てに対して以下のコマンドを実行します incm -b -d mboxファイル -i 変換先のディレクトリ 自分の場合はフォルダが80個くらいあったので適当にスクリプトを書きました。こんな感じ。
    #!/bin/sh mboxDir="$1" mhDir="$2" if [ -d "$mhDir" ]; then mv "$mhDir" "$mhDir"-back fi logFile="$PWD/log.txt" if [ -f "$logFile" ]; then rm -f "$logFile" fi touch "$logFile" mailList="./mailLIst.txt" if [ -f "$mailList" ]; then rm -f "$mailList" fi find ./"$mboxDir" -type f > "$mailList" dirList="./dirList.txt" if [ -f "$dirList" ]; then rm -f "$dirList" fi sed s/.sbd//g "$mailList" > "$dirList" for i in `cat "$mailList"`; do echo "$i" >> "$logFile" exportDir="$mhDir"/"`echo $i | sed s/.sbd//g`" if [ ! -d "$exportDir" ]; then echo "create directory: $exportDir" >> "$logFile" mkdir -p "$exportDir" fi ./incm -b -d "$i" -i "$exportDir" | tail -n 10 >> "$logFile" ls "$exportDir" | wc -l >> "$logFile" echo >> "$logFile" done
一応、logファイルで出力された変換済みのファイルの数と実際にthunderbirdで保存しているメールの数を比較したほうがいいかもしれません。 とりあえず、今日はこれくらいで勘弁しておきます。

0 件のコメント: