このページのプログラムは、携帯電話からパソコンに取り込んだメールを、Becky! や Netscape Mail といったメーラーで読める形式(mbox 形式、または UCB-mail 形式と呼びます)に変換するためのものです。また、これらを"中継"すれば、Outlook Express で読めるようにもできます。
(ここで「取り込む」とは、「メモリーカードや赤外線通信でパソコンにメールをコピーする」という意味です。メール送信機能でパソコンに送る訳ではありません。)
この程度の機能、携帯メーカーのデータリンクソフトで提供してくれてる気がしますが、意外にそうでもなく、私の使っている SH505i でも、「パソコンへのコピーは可能。ただし出力形式はvMessageのみ」というサポート状況です。
つまり、vMessageを読めるメーラーでないとインポートできない訳です。あまり聞きませんよね。(vCardやvCalender対応のは多いんけどねぇ)
普段使ってるメーラーで読めたら何が嬉しいかというと、
と、夢が広がります。
このリンクを右クリックし、「リンク先を保存」して下さい。
プログラム中の文字コードは、Shift-JIS で、改行コードは CR + LF です。
perl もモジュールも何もインストールしなくて良い、exe形式版をリリースしました。Windows 2000/XP 限定ですが、ここからダウンロード。(ZIPアーカイブ, 682KB)
exe版をご利用の際は、以下の説明文中の、
> perl sh505i_mail.pl
を、
> sh505i_mail.exe
に読み替えてご使用下さい。
vMessageファイルを読み込み、UCB-mail(mbox 形式)に変換し、標準出力に表示します。vMessageファイルを携帯電話から取り出す作業は、このプログラムでは行いません。あらかじめ、データリンクソフト等を使ってエクスポートしておいて下さい。vMessage形式 → UCB-mail(mbox 形式)の変換のみです。従って、vMessage形式でのコピー(エクスポート)機能を持たない携帯電話(とデータリンクソフト)をお持ちの方には、プログラムの改造を行っていただく必要があります。申し訳ありません。vCard形式のアドレス帳が存在する場合、それをメールと同時に読み込むことによって、メールのTo:欄、From:欄に、氏名を追記できます。From (英字4文字+空白)で始まる行を発見した場合、行頭に>(greater than)を付加します。.(ピリオド)ひとつだけの行もエスケープするべきかと思いましたが、これが特別な意味を持つのは、POP3, SMTP であり、UCB-mail ではないため、特に処理はしないようにしてあります。Subject: に含まれる日本語は、JIS コードに変換→BASE64にエスケープされますが、これを行わないようにすることができます。-s no とオプションを付加して下さい。プログラムの実行には、以下の環境が必要です。
| perl 5 以降 | Windows なら、Active Perl 等で OK です。 (↑リンク先のインストーラを Windows 98 以前で実行する場合、Windows Installer 2.0 を前もってインストールしておく必要があります。 ) 5.8.2 にて動作確認致しました。 |
|---|---|
perl モジュールDigest::MD5 | http://search.cpan.org/~gaas/Digest-MD5-2.33/MD5.pm からダウンロードできます。 メールの重複検出に使ってます(md5_hex 関数)。これ以外のアルゴリズムで重複検出するように改造すれば、これは不要です。 |
perl モジュールMIME::Base64Jcode | http://search.cpan.org/search?dist=MIME-Base64 http://search.cpan.org/~dankogai/Jcode-0.83/Jcode.pm からダウンロードできます。 以上2つは、日本語氏名とサブジェクトの、文字コード変換→BASE64 エンコードに使ってます。 プログラム実行時、 よって、これに該当する場合、プログラムの49~50行目にある、 をコメントアウトしてください。これらのインストールが不要になります。 |
以下の環境における手順を説明します。それ以外の OS や perl インタプリタをご利用の場合、適宜、読み替えて下さい。
Digest::MD5, MIME::Base64, Jcodeはインストール済み。C:\にある。vMessageファイル。拡張子.VMG)は、フォルダC:\mail以下にある。(このパスは、-mオプションの引数に与えます。vCardファイル。拡張子.VCF)は、フォルダC:\addr以下にある。(このパスは、-aオプションの引数に与えます。C:\mobileというファイルに置くこととする。(このパスは、コマンドのリダイレクト先として与えます。xxx@docomo.ne.jp(送信メールの「差出人」や、受信メールの「宛先」フィールドに、このアドレスが埋め込まれます。-fオプションの引数に与えます。)(exe形式版をご利用の場合、この作業は必要ありません。)(2004/ 3/25追加)
コマンドプロンプトを開き、次の通り入力します。コマンドプロンプトは、[スタート]→[すべてのプログラム]→[アクセサリ]にあります。
入力の途中で、以下のようなメッセージが表示された場合、モジュールが正しくインストールされていません。モジュールの説明書をお読みのうえ、インストールをやり直してみて下さい。
エラーが何も出ずに無事打ち込み終えられたら、モジュールは正しくインストールされています。
Ctrl + Dキーを押し、次にEnterキーを押して下さい。コマンドプロンプトに戻ってきます。
(exe形式版をご利用の場合、perl sh505i_mail.plの箇所を、sh505i_mail.exeに置き換えてご使用下さい。)(2004/ 3/25追加)
引き続きコマンドプロンプトに、次の通り入力します。-m mail -a addr -f xxx@docomo.ne.jpの部分は、お使いの環境によって、入力するべき文字が異なりますので、この節の冒頭をよくお読みになり、適宜、書き換えて下さい。
ブラウザウィンドウの横幅によっては、以下のコマンドが、2行以上にまたがって表示されているかもしれませんが、実際は、長い一行のコマンドです。途中で改行せず入力して下さい。
すべてのファイルが正しく読み込めた場合、数秒後、コマンドプロンプトに戻ってくるはずです。
これで、C:\mobileというファイルに、UCB-mail が出力されました。
Subject: の日本語をエスケープしない場合(Shift-JIS 文字べた書きにする場合)は、上記の代わりに、次のコマンドを使って下さい。
上記プログラムで、UCB-mail への変換が終わったら、次は、メーラーへの取り込み(インポート)を実行しましょう。
UCB-mail に対応した、適当なメーラーをインストールします。ここでは、無料で利用できるMozilla Mail & Newsgroups(バージョン 1.6)を使用した例をご紹介します。
Netscape 6 以降でも、だいたい同じ操作だと思います。
Mozilla を初めて起動する時は、下記 1.~ 8. をすべて実施する必要があります。
二回目以降は、4. から始めれば大丈夫です。
C:\Windows\Application Data\Mozilla\Profiles\XXXXX\YYYYY.slt\Mail\ZZZZZ\
C:\Windows\Profiles\WWWWW\Application Data\Mozilla\Profiles\XXXXX\YYYYY.slt\Mail\ZZZZZ\
C:\Documents and Settings\WWWWW\Application Data\Mozilla\Profiles\XXXXX\YYYYY.slt\Mail\ZZZZZ\
C: | Windows をインストールしたドライブ。 |
|---|---|
WWWWW | ログオン中のユーザ名。 |
XXXXX | Mozilla で使用するプロファイル名。 |
YYYYY | ランダムな英数字。 |
ZZZZZ | 3. で作成したメールアカウントの名前。 |
C:\mobileをコピーします。
題名に含まれる絵文字は、文字化けしてしまってます。上のスクリーンショットで、題名が"?"になっている箇所です。これは、題名中の絵文字を Mozilla が解釈できないのが原因です。
ただし、本文の絵文字は、もとどおり復元されます。i-mode 絵文字を Windows に登録しておけば、ご覧のように、絵文字の表示も可能です。
過去の遺物になって久しいですが、Netscape 4.x (Netscape Communicator)付属のメーラーNetscape Messengerも、UCB-mail に対応しています。
Netscape のトップページから辿るのは、今となっては困難なので、FTP サーバ上のファイルに直リンク。Windows 版の version 4.78 です。
Netscape Messenger を初めて起動する時は、下記 1.~ 8. をすべて実施する必要があります。
二回目以降は、4. から始めれば大丈夫です。
C:\Program Files\Netscape\Users\XXXXX\Mail\
C: | Windows をインストールしたドライブ。 |
|---|---|
XXXXX | Netscape Messenger で使用するプロファイル名。 |
C:\mobileをコピーします。
Mozilla と違い、題名に含まれる絵文字も正しく再現しています。Communicator → Mozilla でデグレードしてる数少ない箇所です。
もちろん本文の絵文字も、もとどおり復元されます。
シェア No.1 の座を得て、なお独自形式にしがみつく Outlook Express。これが一番やっかいです。
UCB-mail(mbox)は読めず、インポートできるメールの種類もごく限られています。なお悪いことに、その数少ないメールも、今となっては入手困難なものばかり。
| Outlook Express への 移行が可能なメーラー | 入手するには… |
|---|---|
| Microsoft Exchange | 企業向け製品である Exchange server が必要。 |
| Microsoft Internet Mail | 絶版。 |
| Microsoft Outlook | 後述。 |
| Microsoft Windows Messaging | 絶版。 |
| Netscape Communicator | 唯一残された希望の光。 |
| Netscape mail v2 or v3 | …。 |
現実的なのは、Netscape Communicator へインポートし、そこから Outlook Express へ移行するという手段だけです。
まだ今は、Netscape が Communicator を公開してくれてるから良いけど、これの公開が停まったら、一体我々はどうすればいいんだろう。
Outlook Express の上位版・Outlook は、というと、より劣悪で、CSV ファイルなどからしかインポートできません。使えませんね。
[ファイル(F)]→[インポート(I)]→[メッセージ(E)]を選びます。
「インポート元の電子メールプログラムを選択してください(S)」の選択肢に、[Netscape Communicator]を選び、[次へ(N)]を押します。
「メッセージの場所」パネルの、[参照(R)]を押します。
「フォルダの参照」パネルで、
C:\Program Files\Netscape\Users\XXXXX\Mail
を選択し、[OK]を押します。ただし、
C: | Windows をインストールしたドライブ。 |
|---|---|
XXXXX | Netscape Messenger で作成したプロファイル名。 |
「メッセージの場所」パネルに戻ってきます。[次へ(N)]を押します。
「選択されたフォルダ(S)」を選び、その下の枠内の[mobile]を選択し、[次へ(N)]を押します。
以上で完了です。[完了]を押します。
ちなみに、サブジェクト・本文とも、絵文字は再現されます。
このプログラムは、vMessage形式でのエクスポート機能を持ったデータリンクソフト等がないと何もできません。
全携帯のデータリンクソフトに合わせてプログラム作るのは面倒なので、携帯→PC 移行は「携快電話」とかに任せて、こっちは、「携快電話」のエクスポート形式に併せてプログラム組んだ方が楽な気がします。(ソフトは買わんといけんくなるけど)
主な製品のカタログスペック(エクスポートの)をビックカメラで調べてきたら、次のような状況でした。
| 製品名 | エクスポート形式 |
|---|---|
| 携帯万能12 | CSV, テキスト, Eml, Outlook |
| 携快電話9 | Eml |
| ケータイ・リンク7 | Eml |
Eml が本命な感じですが、携快電話は、内部保存形式が XML なので、パーサーさえ書ければ、既製の perl モジュール使って一気に読み込めたりしないだろうか。