ということでGmailアカウントをゲットしたので、既存のメールをインポートしようと考えたわけなのです。
Gmailの最大のウリは「検索性能の高さ」です。本文・タイトル関係なくゴリゴリ検索してきてくれますから、普通のメールソフトのように「全文検索すると時間がかかるしなぁ・・・」などとためらう必要はありません。「たしか、「○○」という件に関してだったけど・・・」と思ったら、迷わずそのキーワードを打ち込めば、それらしきメールが瞬時(2秒以内くらい)に見つかります。
メールは4万通くらいありました。私は、昔のメールをまったく整理(削除)しない人間なので、こんなにたまっていました。消してもいいメールもたくさんあるんですが「消していいメールといけないメールを分別するのは大変だ」という理由で、とにかく全部残しています。
そこで、インポートしようとしたわけなのですが、Gmailにはメールをインポートする機能が標準ではありません。インターネットで調べると、Gmail Mail Loaderを言うソフトを使うのが一般的なようです。
ということでご多分に漏れず、私もこのソフトをダウンロードしてきて使ってみたのですが、調子の悪い点が2点ほどありました。
- 頻繁に止まる(ひどいときは1000通くらいで止まる)
- メッセージの区切りが変な位置に入ることがある
これはPhythonスクリプトで書かれているようだったのですが、わたしはPhythonがまったくわからないので解読はあきらめ、自力で1から作ってみることにしました。使ったのはPerl(Windowsで動作するActivePerl)です。
最近のPerlではNet::SMTPというライブラリを使うと簡単にメールが送れることがわかったので、とっても簡単に作ることができました。
「頻繁に止まる」という問題は、どうやらメールサーバーが応答しなくなることが原因のようだったので、私は10通メールを送るごとにコネクションを張りなおすことでこの問題を回避することにしました。おかげで、4万通弱のメールも止まることなく送ることができました。
このスクリプトは「私用」に書かれた個人的スクリプトなので汎用ではありませんが、汎用化はそれほど困難でもないので、もし使いたいという方がおられたらリクエストしてください。