書き出した大量の「eml」を1つの「mbox」に統合する
では「eml」を「mbox」にするにはどうすればよいのでしょうか?ネットを検索すると「eml2mbox」なるツールがヒットするのですが、残念ながら、Mac OS Xではまともに動かないようです。さらにネットを検索すると、以下のようなスクリプトをターミナルで実行することで「eml」を「mbox」に変換できることがわかりました。ただし、実行には「formail」というプログラムが必要とのこと。幸い、Mac OS X 10.5 の環境には標準でインストールされているのでなんとかなりそうです。
for m in *.eml; do formail < "$m" >> archive.mbox; done※注意:よくわからない人は、後で紹介するソフトをダウンロードして使ってください
このスクリプトの使い方としては、まずターミナルを起動して「eml」が含まれるフォルダに移動し、上記コマンドを実行します。これで「eml」のあるフォルダに「archive.mbox」が出来上がります。
なお、AppleScriptで実行したい人は、以下のコードを利用してください。
set afolder to choose folder with prompt "eml があるフォルダを指定してください" set uafolder to (ASCII character 34) & (POSIX path of afolder) & (ASCII character 34) set afileName to choose file name with prompt "mbox ファイルの保存場所とファイル名を指定してください" default name "archive.mbox" set uafileName to (ASCII character 34) & (POSIX path of afileName) & (ASCII character 34) do shell script "cd " & uafolder & "&&for m in *.eml; do formail < " & (ASCII character 34) & "$m" & (ASCII character 34) & " >> " & uafileName & "; done"やっていることは同じですが、上記AppleScriptでは「eml」のあるフォルダ指定と、「mbox」の作成場所をファイル選択ダイアログで簡単に指定できるようにしています。うまく動かないひとはこちらから作成済みのスクリプトをダウンロードしてください。
あとは、Mailの「ファイル - メールボックスを読み込む…」を実行し、作成した「mbox」ファイルを読み込めば作業は終了です。
ただし、変換処理は完全ではないようで、部分的に消えてしまっているメールもあります。元データを消す前に、本当に大事なメールがちゃんと移動しているかどうか?は最終的に自分の目で確認してください。