2010/11/02

ローカルに保存しちゃったメールを Gmail にインポートする (送受信日はそのまま)



11/4 追記 → http://kokufu.blogspot.com/2010/11/gmail_04.html


最近、スパムメールの量が一気に増えました。
スパムフィルタはかけているので、別に構わないと言えば構わないのですが、以前から Gmail に移行しようと思っていたところだったので、ちょうど良い機会だから乗り換えることにしました。

ところが、Gmail はローカルに保存しちゃったメールをインポートする術を提供してくれてないようなのです。(2010年10月現在)
しかし、今までのメールを破棄はしたくはないのです。
調べてみると Google Mail Loader (http://www.marklyon.org/gmail/) を使うと既存のメールを Gmail に送ることができるということがわかりました。しかし、メールの送受信日時が現在になってしまうという問題があるのです。出来れば、送受信日時はオリジナルを維持して欲しいものです。

そこで、ローカルに保存しちゃったメールを、もう一回サーバに上げてインポートさせることで、送受信日時を維持したままGmailにアップすることにしました。
以下、その手順を簡単にまとめますが、結構面倒くさいです。
自分でサーバを建てられる人以外にはお勧めしません。ご注意ください。

私は VMWare上に Windows XP をインストールし、Mercury Mail をメールサーバとして使用しましたが、他のメールサーバでも大丈夫だと思います。(保証はしかねますが)

  1. VMWare を準備する
    本質じゃないので割愛
    ネットワーク接続はブリッジ、物理ネットワーク接続の状態を複製するのチェックボックスを外しておくと、VMWare上のOSに個別のIPアドレスが割り振られるので、設定が楽になります。

  2. Mercury Mail インストール
    以下をインストールしました。
    Mercury/32 Mail Transport System for Win32 and NetWare Systems v4.72
    http://www.pmail.com/

    設定方法などは、以下のサイトなどに詳しく載ってます。
    基本的には、SMTP と POP3 サーバーが動いていればオッケーなので、プラグインなどはインストールしなくても良いです。
    http://mizushima.ne.jp/Windows/Mail/Mercury/Mercury.php
    http://www.aconus.com/~oyaji/mail2/mercurymail.htm

  3. 110番と25番のポートを開けます
    ファイヤーウォールの設定でポートを開けます
    私は VMWare 上に新規の環境を作ったので、ファイヤーウォール無効にしてしまいました。そっちの方が手っ取り早かったので。あまりお勧めはしません。

    ルータを使っている場合は、ルータのポート転送設定もしてやる必要があります。

    ここまで来たら、メールサーバとして動作するはずですので、一度、外部のメーラーからアクセスしてみて、メールサーバとして動作するか確認してみると良いでしょう。

  4. 既存のメールを eml ファイルとしてエクスポート
    Mercury Mail は EML形式でファイルを管理しているようです。
    大抵のメーラーは eml ファイルをエクスポートする機能がついていると思うので、それを利用して、emlを吐き出します。
    UNIX系のメールサーバはmbox形式かもしれません。

  5. ファイル名を変換する
    Mercury Mail は eml ファイルを .cnm ファイルとして持つ仕様のようなので、拡張子 .eml を .cnm に変換します。
    かつ、Mercury Mail は日本語ファイル名が使えません。ファイル名を半角英数字に変換する必要もあります。
    参考までに、私が作ったスクリプトを挙げておきます。
    #!/bin/sh
    
    j=0
    for i in *.eml
    do
        echo "$i" "${j}.CNM"
        mv "$i" "${j}.CNM"
        j=`expr $j + 1`
    done

  6. サーバにアップする
    Mercury Mail の場合、C:\MERCURY\MAIL\username\ に先ほど作成した xxxx.CNM をコピーすればオッケーです。

  7. Gmail にインポート
    gmail の 「アカウントとインポート」「メッセージと連絡先のインポート」からインポート情報を入れます



    個人的には、インポートしたメールには新規のラベルをつけておいた方が良いと思います。
    ラベルを外すのは簡単ですが、つけるのは意外と面倒です。
    インポート開始を押せば、メールの取り込みが始まります。トラフィックに負担をかけないためだと思いますが、ゆっくり取り込みます。気長に待ちましょう。

0 件のコメント: