〜 HP 200LXは{E,Pocket}ボードを越えられるか? part3 〜 ppm - Paldio Palmtop Mail v0.2 − NTT DoCoMoのパルディオEメールを送受信 − Copyright (C) 1999 by Dai ISHIJIMA ☆はじめに 最近の携帯電話やPHSには、 音声通話やデータ通信以外にインターネ ットメールを送受信できるものがあります。NTT DoCoMoの PHSの場合、 このサービスは「パルディオEメール」と呼ばれています。 この電子メ ールサービスは、インターネット接続業者との契約なしで利用でき、一 通あたりの利用料金も10円程度と非常にお手軽なものとなっています。 NTT DoCoMoの (551S、622SやIP-1Dなどを除いた) PHSでこの「パルデ ィオEメール」を利用するためには、NTTが無料提供している「パルディ オメ〜ラ〜」というソフトを Windowsベースのパソコンで用いるか、パ ルディオEボードが必要になります。 この手軽で便利なメールサービス がこれらのWindows機やPDAでしか利用できないのは非常にもったいない ことだと思います。 そこで、LXで「パルディオEメール」を送受信する ためのソフトを書いてみました。 本ソフトの特長は、「パルディオEメール」の「手軽さ」と「軽快さ」 をそのまま受け継いでいることです。PHS の電話番号とパスワードを設 定するだけで、インターネットメールを利用できるようになります。 ☆使用上の注意 このプログラムの運用によって生じる結果について、作者は一切の責 任を負いません。場合によっては、 ・せっかく書いた、あるいは受け取ったメールが消えてしまう ・パルディオEメールが利用できなくなってしまう ・PHS端末が使用不能になってしまう ・LXのデータが消えてしまう などのトラブルが起こるかもしれません。また、このプログラムは「電 子メール」を扱うという性質上、利用者本人以外 (たとえば、あなたに メールを送ってくれた人、あなたがメールを送った人、それらのメール を中継するサーバの管理者やユーザなどの第三者) も何らかのトラブル に巻き込んでしまう可能性があります。 なお、このプログラムを使用して何らかの不具合が発生しても、それ についてNTT DoCoMoに問い合わせることはご遠慮ください。NTT DoCoMo は、 「パルディオメ〜ラ〜」以外のソフトでパルディオEメールを利用 することを想定していないからです。 このプログラムを利用するにあたっては、これらのリスクがあること をご承知おきください。繰り返しますが、作者は一切の責任を負いませ ん。あくまで自己責任のもとでご利用ください。 もちろん、以上の点について了承できない方には、このソフトを使わ ない自由も残されています (笑)。 ☆動作環境 このプログラムは、200LXと NTT DoCoMoパルディオ611Sを対象として います。611Sと互換性のある (NTT DoCoMoが配布している「パルディオ メ〜ラ〜」に対応している) PHS端末とPIAFSデータカードの組合せでも、 このプログラムを利用することができると思います。 611Sと互換性のない PHS端末とデータカードの組合せでは動作しませ ん。場合によっては、PHS端末などに「とりかえしのつかないダメージ」 を与えてしまう恐れもありますので注意してください。 なお、プログラムそのものは、実行する機種になるべく依存しないよ うに作ったつもりなので、PCカードに対応しているAT互換機とMS-DOSの 組み合わせなら動くような気がします。また、プログラムのソースファ イルも同梱してありますので、コンパイルすればUNIXでも利用可能です。 実際の開発は FreeBSD + LSI C-86 で行いました。 ☆パルディオEメールについて パルディオEメールは、NTT DoCoMo が提供するインターネットメール サービスです。インターネットプロバイダと特別な契約をしなくても、 インターネットメールを利用することができます。 パルディオEメールの利用を開始するためには、Eメールセンタに保管 箱 (着信した電子メールを保存しておくための場所) を作成する必要が あります。 この保管箱は、Eメールセンタに読みだし操作を行うと作成 されます。読みだし操作を行うためには、 使っているPHSの電話番号と パスワード (1文字以上8文字以下の半角英数字) が必要です。この二つ の情報がないと保管箱は作成されません。 保管箱ができると、 「電話番号@em.nttpnet.ne.jp」というアドレス で電子メールを使えるようになります。電子メールが使えるようになる と、 上記アドレスに「パルディオEメール利用に関するメール (ウェル カムメール)」が届けられます。 このサービスの制限事項には ・保管箱の有効期限は最後の利用から2週間 (2週間利用がないと保管箱が消去されます。ただし、読みだし操作 を行うことによって継続使用できます) ・Eメールセンタに届いたメールの保存期間は7日間 ・保管箱の大きさは40kバイト ・送受信可能なメールのサイズは一通あたり10,000文字 (20kバイト) 程度 といったものがあります。 パルディオEメールの利用料金は10秒あたり7円です。一通のメール を送信、あるいは受信するのに要する時間は、だいたい10秒未満のこと が多いようです。そのためカタログなどには『1メール7円』と書かれ ています。 なお、パルディオEメールには、メール着信通知機能がありませんが、 メールが届いていないときに読みだし処理を行っても課金されません。 ☆プログラムのインストール ここでは、アーカイブファイル ppm02.lzh を展開し、200LXのシステ ムマネージャから本プログラムを利用する方法を説明します。本プログ ラムをシステムマネージャから利用するには、みゅうさん作のフリーソ フト「maxdos」が必要になります。なお、以下の例では、各ファイルの 配置などが ・アーカイブファイルppm02.lzhは c:\tmp\ に置いてある ・ppmの各ファイルは c:\paldio\ ディレクトリに置く ・PCカードモデムイネーブラには cic100 を使っている ・maxdos.com は c:\lxtools\ に置いてある となっていることを想定して説明をすすめます。もし、ファイルの置き 場所などがこれらと異なる場合は、みなさんの環境にしたがって適当に 読みかえてください。 また、 必要に応じてバッチファイル (rpm.bat, spm.bat) の中身も書き換えてください。 では、説明に入ります。まず、システムマネージャを終了し、いわゆ る「生DOS」に降りて、アーカイブファイルを展開します。 実行例 ・{MENU}→A→T を押して終了メニューを出し、YESを選択 C:\>mkdir c:\paldio ← ppm用ディレクトリの作成 C:\>cd \paldio C:\PALDIO>lha x \tmp\ppm02 ← アーカイブの展開 次にシステムマネージャを再起動し、c:\paldio\ppm.ini を内蔵ソフ トのmemoなどで編集します。編集しなければいけないところは、先頭に 「number」と書いてある行と「passwd」と書いてある行の 2ヶ所だけで す。あなたのPHSの電話番号と、Eメールセンタにアクセスするためのパ スワードをこれらの行に書き込みます。 設定が終ったら、メール受信用と受信用のバッチファイルをシステム マネージャに登録します。システムマネージャからAdd {F2}を押すと、 アプリケーション登録画面になります。ここで、「Name:」、「Path:」、 「Comments:」の各項目を、それぞれ以下のように設定します。 受信用バッチファイルの設定例 Name: recv E-mail Path: c:\lxtools\maxdos.com c:\paldio\rpm.bat| Comments: {Fn+3}{Fn+Filer} 送信用バッチファイルの設定例 Name: send E-mail Path: c:\lxtools\maxdos.com c:\paldio\spm.bat| Comments: {Fn+3}{Fn+Filer} アプリケーションの登録については、「ユーザーズガイド」の p.24-2 あたりも参考にしてください。 なお、「Comments:」欄の「{Fn+3}」な どは、それぞれ「?」と「!」が上下逆になった文字を意味します。 ☆設定ファイル 先の「プログラムのインストール」でも少し書きましたが、設定ファ イル ppm.ini には、 電話番号やパスワードの設定を書き込みます。設 定は 設定項目 設定する値 のように一行に「項目」と「値」を空白文字で区切って記述します。ま た、空行や「%」で始まる行は無視されます。 設定項目には、以下のものがあります。 number PHSの電話番号 passwd Eメールセンタにアクセスするためのパスワード bps LXがPHSにアクセスするときの速度 mbox 読み込んだメールを保存するファイル sepa メールとメールの区切り code メールを保存するときの文字コード logfil Eメールセンタアクセス時のログを保存するファイル loglevel ログに書き込む情報の詳細度 stderr 標準エラー (画面) に書き出す情報の詳細度 delete 読み込み後にメールをサーバから削除するかどうか 電話番号は必ず正しい番号を設定してください。パスワードはセンタに アクセスするときのものを平文で設定します。他の項目は初期値のまま でかまいません。 ☆メールの受信と送信 プログラムのインストールと電話番号およびパスワードの設定が無事 終了したら、メールの受信ができるようになります。メールの受信は、 200LXのPCカードスロットにPHSを接続した後、システムマネージャから 「recv E-mail」 という名前でさきほど登録したバッチファイルを呼び 出すだけです。なお、カードスロットにPHSを接続するときは、200LXの 電源を必ず切ってください。外すときも同様です。 受信したメールは、c:\paldio\mboxというファイルに格納されます。 もし、Eメールセンタにメールが届いていない場合は、 このファイルは 空になります。このとき課金はされません。また、エラーメッセージな どがあれば、c:\paldio\ppm.logに書き込まれます。 メールを送信するには、 まず次の「送信PADファイル」で説明する書 式にしたがって、送信したいメールを c:\paldio\ppmsend.padという名 前で作成します。 その後、システムマネージャに「send E-mail」で登 録したバッチファイルを呼び出すとメールが送信されます。この場合も、 もしエラーなどがあれば、そのメッセージが c:\paldio\ppm.logに残り ます。 受信したメール (c:\paldio\mbox) とエラーメッセージなどのログフ ァイル (c:\paldio\ppm.log) は、 メールの送受信のたびに上書きされ ますが、 古い内容はc:\paldio\mbox-old.savとc:\paldio\ppm-log.sav にそれぞれ追記されて保存されます。また送信したメールについても、 c:\paldio\old-pad.savに保存されます。 これらのファイルは利用する ごとに大きくなるので、適当なタイミングで消去してください。 ☆送信PADファイル 送信したいメールは、以下の書式で作成します。 ・1行目には宛先を「TO:」に続けて書く ・2行目には「SUB:」に続けて題名 (subject) を書く ・3行目以降に本文を書く ・本文の後ろに「/POST」だけの行を書く 宛先は1行目に一つしか書けません。 次に例を示します。 行頭の「|」は引用符なので実際には必要ありま せん。 |TO:XXX00000@nifty.ne.jp |SUB:I found a bug in ppm! |こんにちは。 |突然ですが、ppm v0.2 にバグを見つけたので報告します。 |ついでに、バグを修正する差分を作成しましたので使ってください。 <中略> |以上です。 |/POST なお、題名にはいわゆる半角文字しか使えません。 カタカナとか2バイ ト文字は使えません。 ☆プログラムをDOSプロンプトから使う方法 アーカイブ ppm02.lzhに入っているファイルのうち、実際にメールの 送受信を行っているのは、 ppm.exe (受信) と ppmsend.exe (送信) で す。ここでは、この2つのプログラムの使いかたを説明します。 メールの受信はppm.exeが担当しています。このプログラムはEメール センタからメールを読みだし、それをmboxというファイルに追加書き込 みします。また、動作時のログをppm.logというファイルに記録します。 ppm.exe は、次の書式で起動します。 ppm [オプション] [PHS接続ポート] オプションには以下のものがあります。オプションは、設定ファイル からでも変更できます。 -# PHS接続ポートの速度を # bps にします。デフォルトは 「-38400」です。一応「-115200」でもちゃんと動くと思い ます。もし、文字化けなどが発生する場合は、「-9600」な ど、小さい値を指定してください。 -f ファイル カレントディレクトリの ppm.ini 以外のファイルを設定フ ァイルとして用いる時に使います。 -m ファイル 読みだしたメールを保存するファイルを指定します。デフォ ルトはカレントディレクトリのmboxです。 -d 読みだしたメールをEメールセンタから削除するかしないか を指定するトグルスイッチです。デフォルトでは、読みだし 後に削除する設定になっているので、このオプションを指定 するとメールを削除しません。 -D# Eメールセンタに届いたメールを読まずに削除するときに使 います。-Dに続けて数字 (一文字) を指定すると、その数だ けメールを削除します。巨大なメールを受信してしまって、 読みだしに失敗するときに使ってください。 [PHS接続ポート] は、 PHS (とデータカード) を接続したシリアルポ ートを指定します。省略時は COM2 です。LXの場合は、PCMCIAスロット に接続したPHSはCOM2になりますから、特に指定しなくても大丈夫です。 メールの送信は、ppmsend.exeが担当します。 このプログラムは、ま ずPADファイルを読み込み、文字コードの変換などを行います。その後、 Eメールセンタに電話をかけてメールを送信します。 ppmsend.exeは次の書式で起動します。 ppmsend [オプション] [PADファイル] オプションには以下のものがあります。 -# PHS接続ポートの速度を # bps にします。デフォルトは 「-38400」です。一応「-115200」でもちゃんと動くと思い ます。もし、文字化けなどが発生する場合は、「-9600」な ど、小さい値を指定してください。 -f ファイル カレントディレクトリの ppm.ini 以外のファイルを設定フ ァイルとして用いる時に使います。 -t シリアルポート PHS (とデータカード) を接続したシリアルポートを指定し ます。省略時は COM2 です [PADファイル] は、 送信するメールが書かれたPADファイルを指定し ます。複数個指定することはできません。つまり、一度に送信できるメ ールは一通だけで、宛先も一ヶ所だけです。 ppm.exeとppmsend.exeは、直接シリアルポートを制御しているので、 システムマネージャから起動したDOSでは正常に動作しないと思います。 システムマネージャを終了させた、いわゆる「生DOS」あるいはmaxdos などから動かしてください。 ☆バグ ・メールアドレス変更サービスに対応しているかどうかは確認してい ません。 ・一度に送信できるメールは一通で、宛先も一ヶ所だけです。 ・送信時の題名に、いわゆる半角カナや2バイト文字は使えません。 ・約20kバイトを越えるメールの送受信に失敗することがあります。 ・一行の長さが1024バイトぐらいを越えると文字化けすることがあり ます。 ・設定ファイル ppm.ini が実行時のカレントディレクトリにないと 動きません。 ・日本語 (とASCII) 以外には対応していません。 ・ppm自体は添付ファイルには対応していません。 ・コニーちゃん、キティちゃん、ヒヨコなどのキャラクタは登場しま せん。 ・もちろん、スロットマシンなどのゲームもできません :-)。 ☆アーカイブファイルの中身 配布アーカイブファイル ppm02.lzh には、 readme.txt このファイル hosoku.txt ライブラリ登録時の補足説明 ppm.exe メール受信用実行ファイル ppmsend.exe メール送信用実行ファイル rpm.bat メール受信用バッチファイル spm.bat メール送信用バッチファイル ppm.ini 設定ファイルの雛型 ppm.c 実行形式ファイルを作るためのソースファイル ppmsend.c 同上 chat.c 同上 tty.c 同上 tty_at.c 同上 intr.c 同上 tictac.c 同上 codeconv.c 同上 mimeconv.c 同上 common.h 同上 chat.h 同上 tty.h 同上 intr.h 同上 codeconv.h 同上 mimeconv.h 同上 makefile.cpp ソースファイルから実行形式を作るための メイクファイルの素 の23個のファイルが入っています。 ☆コンパイル方法 配布アーカイブには、ソースファイル一式が入っています。LSI C-86 やTurbo C++、gcc でコンパイルすることが可能です。 コンパイルする には、LSI C-86あるいはgcc付属のプリプロセッサcppを使って、メイク ファイルを作成してください。Borlandのcppは使えません。 LSI C-86でコンパイルするには、 C:\PALDIO>cpp -DLSIC makefile.cpp > makefile C:\PALDIO>make とします。また、Turbo C++, Borland C++用のメイクファイルを生成す るには、cppのオプションとして「-DTCC」を指定します。 UNIXでコンパイルするには、 % cpp -DGCCUNIX makefile.cpp > makefile; make とします。 FreeBSD以外で利用する場合は、生成されたメイクファイル を参照して、適当にCFLAGSなどを変更してください。UNIX上のLSI C-86 を使ってLX版をコンパイルするには、 % cpp -DLSICUNIX makefile.cpp > makefile; make とします。 ☆200LX版とUNIX版の違い ・シリアルポートのデフォルトは /dev/ttyd2 です。 ・デフォルトの文字コードは *euc-japan*unix です。 ☆動作確認 このソフトウェアは以下の環境で動作を確認しています。 ・200LX版 [LX] ・HP 200LX 若松6M倍速モデル + JKIT 1.1 + CIC100 [PHS] ・NTT DoCoMo パルディオ611S バージョン 1.05e [コンパイラ] ・LSI C-86 Ver.3.5 UNIXシステムパック FreeBSD版 ・LSI C-86 Ver 3.30c 試食版 ・Borland C++ Version 2.0 (PC-9801版) ・UNIX版 [PCとOS] ・パナソニック Let's Note CF-S21EJ81 + FreeBSD 2.2.8R + PAO-19990405 ☆謝辞 動作報告、ご提案などを寄せてくださったFHPPCのみなさまに感謝い たします m(_ _)m。 ☆改編の記録 1999/08/09: PPM00.LZH を NIFTY FHPPC LIB(8) #967 に登録 1999/08/21: ヘッダデコード差分 (ppm00 patchlevel 1) を NIFTY FHPPC MES(12) #1249 に登録 patchlevel 1 での変更点: ・MIMEエンコードされたヘッダをデコードできるようにした。 ・メール受信に要する時間を少し短縮した。 ・エラー発生時の回線切断に要する時間を短縮した。 1999/09/10: PPM01.LZH を NIFTY FHPPC LIB(8) #975 に登録 v00 → v01 の変更点: ・シリアル制御ルーチンを変更し、115200bps 対応とした。 (受信FIFOを使うようにした) ・メールとメールの区切りを「D-Mail形式」とした。 ・第二水準の一部の文字が化けるバグをfixした。 ・エラー発生時の処理をさらに改善した。 ・LSI C-86 Ver 3.30c試食版でコンパイルできるようにした。 今回: PPM02.LZH を公開 ・メールの送信を可能にした。 ・システムマネージャ登録用のバッチファイルを添付した。 ☆おことわり このプログラムは (狭義の) フリーソフトウェアです。パブリックド メインソフトウェア (PDS)、シェアウェアではありません。このプログ ラムの著作権は、作者である いしじま☆だい が所有しています。 このプログラムの運用によって生じた結果については一切責任を負い かねますのでご了承ください。 このプログラムの全部、または一部をそのまま利用して商用目的のプ ログラムを作成することはご遠慮ください。 フリーソフトウェアの作成や個人的な範囲での利用が目的の場合は、 このプログラムの全部、または一部をそのまま利用してもかまいません。 他機種への移植や他のオペレーティングシステムへの移植、そしてそれ らをフリーソフトウェアとして公開することを歓迎します。 このプログラムを再配布する場合は、アーカイブファイル ppm02.lzh に含まれるすべてのファイルを変更せずにそのまま配布してください。 このプログラムを BBSや anonymous ftpなどで再配布する場合は電子メ ールなどでご連絡いただけるとありがたいです。 このプログラムを書籍や雑誌などの出版物で紹介したり、CD-ROMなど に収録する場合は、事後でもかまいませんのでぜひとも連絡をいただき たいと思います。また、このプログラムや付属するドキュメントなどの 一部あるいは全部を出版物などにそのまま掲載する場合は必ず事前に連 絡してください。 ☆パルディオシリーズの宣伝 (^^) 200LXおよびFreeBSDからPHSを操作するソフトには、 ・ppb - 電話帳の読み書き ・cmr - きゃらめーるを読む もあります。ppmとあわせてご活用くださいませ :-)。 ☆参考文献 ・NTT DoCoMo関西:「パルディオEメール、パルディオIメール」 http://www.docomo-kansai.co.jp/text/phs/network/paldio_e.html ・NTT DoCoMo:「パルディオメ〜ラ〜」 http://www.nttdocomo.co.jp/products/phs/mobile/a-mailer.html ・「パルディオメ〜ラ〜」のドキュメントファイル ・NTT DoCoMo関西:「ドコモのPHS PALDIO/Doccimo」パンフレット (1999.8) ・NTT DoCoMo関西:「PHSをよむほん−ご利用がいどぶっく−」パンフ レット (1999.8) ・NTT移動通信網株式会社:「ポケットボードの超やさしいマニュアル 『まるごとポケットボード』これであなたも10円メールを完全マス ター!!」パンフレット (1998.10) ・渡辺 誠:「D-Mail FAQ (dmailfaq.txt)」, "電子メールソフト D-Mail v2.3" (1997.8), "HP 200LX INTERNET BIBLE" 付録CD-ROM:/2dmail/dmail230.lzh ・みゅう:「maxdos Version 0.3.7」, FHPPC LIB(7)#553 ・関谷 博之:「通信の準備」 "HP 200LX INTERNET BIBLE" (ソフトバ ンク, 1999) ISBN4-7973-0830-3, pp.8-14. ppm v0.2 Copyright (C) 1999 by Dai ISHIJIMA Web Page: http://hp.vector.co.jp/authors/VA004814/