†REXXのどろぬま†
作成開始日 2020.11.01
最終更新日 2023.07.01
機 能 | コマンド | ||||
メールの表示 | SHOW | マルチパートの場合は第1パートを表示 | |||
HTMLパートの表示 | HTML | 第2パートがHTMLの場合、HTMLパートを表示 | |||
メールの削除 | DEL | 正確には削除マークを付けるだけ | |||
これ以外の機能は実装していない。送信・返信はもちろん、メールをローカルにダウンロードして整理する機能すらない(ただし、表示に使用するエディタ/ブラウザからメールを保存することは可)。POP3の生コマンドにシェルを被せて、文字コード変換機能を持たせたものに過ぎない。本プログラムの存在意義に関しては、後述の「開発背景」を参照。
なお、テキスト・メールはテキスト・エディタ(デフォルトでE.EXE)、HTMLメールはWebブラウザ(デフォルトでNetscape)で表示される。また、マルチパート・メールは原則的に先頭パートのみが表示される。ただし、一般的な[TEXTパート+HTMLパート]という構成のマルチパート・メールに関しては、「HTML」コマンドでHTMLパートの表示が可能。なお、本プログラムでは添付ファイルなどは扱えない。
以上で終了。必要に応じて、DLLを\OS2\DLL等にコピー/移動する(以下の使い方をする場合は不要)。なお、作成されるオブジェクトは絶対パス依存なので、PORONディレクトリを移動した場合は、再度INST.CMDを実行すること
表示用エディタ/ブラウザを変更する場合は、以下の設定を書き換える。
77行目) poron.!editor=…
79行目) poron.!browser=…
書式は各行の次のコメント行(78行目、80行目)を参照。
PORON[Enter]
なお、「/L」オプションを付けるとローカルモードで起動するが、ローカルモードは主にデバグ用で、通常は意味がない。また、デスクトップ上に作成される[PORON]アイコンをダブルクリックしても良い。
メールを読む | SHOW n | (nはメール番号)範囲指定、列挙指定可 | |||
HTMLパートを読む | HTML n | (nはメール番号)範囲指定、列挙指定可 | |||
メールを削除する | DEL n | (nはメール番号)範囲指定、列挙指定可 | |||
削除を取り消す | UNDEL
サーバに再接続する | REC
| poronを終了する | EXIT
| |
※コマンドは大文字・小文字を区別しない
※メール番号は、リストの一番左の数字
※範囲指定は「n-m」形式;例えば5〜8番メールを表示する場合は「SHOW 5-8」
※列挙指定は「n,m,l…」形式;例えば7番と10番メールを削除するには「DEL 7,10」
※範囲指定と列挙指定はver.1.10aから実装
※「HTML」コマンドは[@テキスト+AHTML]という構成のマルチパートメールが前提
異なった構成のマルチパートメールでは正常に機能しない
※HTMLはver.1.13から実装
なお、本プログラムでは、メール番号は999番までしか扱えない。1000通以上のメールをサーバにため込んでいる場合は、番号が狂うので使用できない。基本的に、サーバ上のメール数はせいぜい30通程度を想定している。
@新着メールをチェックする
セッション中は新着メールを感知することができない。RECでセッションを一度閉じて、再接続することでメールサーバの情報が更新される。
A削除を実行する
単にDELしただけでは削除フラグが立つだけで、削除は実行されない。サーバ上からファイルを実際に削除するにはEXITでセッションを閉じるか、RECで再接続(切断→接続)を実行する必要がある。なお、タイムアウトでセッションがクローズした場合、削除は実行されない。
Bタイムアウトからの復帰
メールサーバに接続して数分放置すると、自動的にタイムアウトする。その場合、RECを実行すれば再接続される。
旧バージョンのメーラーならば軽快に動いてくれるが、TLS 1.2ブラウザとは共存不可。ブラウザとメーラーで、共通DLLのバージョン不整合が起きていると思われる。で、旧式PCでメールチェックをするには、非Mozilla系メーラーが必要になる。ちなみに、Netscape 4.6のメーラーはSeamokey 2.28やFirefox 31と共存可能。が、メールサーバへの接続IDをサーバ名とユーザー名から勝手に生成するため、仕様が異なるPOPサーバ(例えばHi-HO)には接続できない…(u_u;)
なお、このporonと同様な?趣旨のメールリーダーにalpine/pineがあるそうだが、ちょっと弄った限り、設定がとても判りにくかったし、何より、日本語の扱いが…OS/2移植版は直に日本語読めるのかなぁ…?
また、OS/2ではPM Mailと言う独自のメーラーも開発されている(フリー)。これならば日本語表示もブラウザとの共存可能だが、使い勝手が悪すぎる。UIをもう少し考えてくれないと…。それに、今回作成してみてつくづく感じたが、メールは仕様がけっこういい加減で、トラブルが発生したら逐次対処して行くしかないカンジ(大文字/小文字、改行ルール、マルチパートの入れ子など…しっかり決めろよ!)。となると、ソースが弄れない、或は気軽に改造できないメーラーは実用性に乏しい。
そこで、そうした問題に対応すべく、勝手にコツコツと改造して、base64にもqpにも、添付ファイルにも対応できるようになったのですが、流石に、Unicodeの普及と、smtpの仕様変更でギブアップ!以後、Mozilla系のメーラーに乗り換えていました。
まあ、Semonkey 1.xの間はそれで何の問題もなかったのですが、前述のような事情で、Seamonkey 2.28必須となってハタと困ってしまったわけです。私のOS/2マシンはPenM/2.1GHz、ブラウザも軽くはないが、メーラーの重さは信じ難いレベル。リストからメールを選択するだけで数秒間固まる、リストのスクロールバーなんか、重過ぎて動かない。マウスを操作してから十数秒経って、ようやく実際に動くと言う始末。Core i5-3470のWinマシンのVirtulaBoxのOS/2でも大差はない;少し軽い程度。
もちろん、ブラウザとメーラーを共存させる必要がなければ、別々に起動して別々に使用すれば良いので、旧版のSeamonkeyのメーラーやThunderbirdで良いのですが、たとえば、ヤフオクのアラートメールなんかは、メールにリンクが貼ってあり、ブラウザとメーラーの共存が前提なワケで、片方しか使えないのはとても不便です。で、いろいろ旧版メーラーとの共存を探ってみたのですが、収穫は乏しく、かなり限定された使い方しかできない(起動の順序に強い制限があるとか…)。非Mozilla系も選択肢が少ないし、PM mailなんかはUIがなぁ…Webメールも総じてクソ重い。
ならば、いっそPCM/2に戻ったらどうか?もちろん、問題があってMozilla系に移行したので、そのままでは使えない。しかし、取り敢えずメールのチェックができれば事足りるので、smtpの認証ができなくても問題ない。問題はむしろ、Unicode…だが、当時と違って、現在はUTF-8をShif-JISに変換するライブラリが存在する。
肥大化させてしまった「PCM/2勝手に改造版」ではなく、機能をざっくり削って、メールサーバ用のシェルみたいな物を作れば、それでいいんじゃね?メインのメーラーとして使うわけじゃなし。と言うことで、POP3サーバの認証部分はPCM/2をそのまま借用していますが、それ以外は全部一から作り直してみました。
幸いなことに、現在ではいろんなライブラリが充実していて、以前はBase64デコーダも自作していましたが(REXXベースなんで遅い遅い)、現在ではライブラリ関数一発で済みます。実に便利になったものです。同梱のライブラリ(RXJIS、RXULS、RXSOCK)を開発して頂いた皆様には感謝しかございません。一応(私の英語力では)再配布可能と理解しましたので、同梱させていただきます。