ソフトを開発しようと思った動機、背景
MS-DOS時代にモデムでパソコン同士を接続し、直接実行ファイルを送り込んで実行させることのできるソフトウェアを作って使用していました。これは非常に単純で、受け取ったファイルをただ実行するだけでしたが、応用範囲が広く重宝していました。MS-DOSからWindowsに変わったころでも、このソフトウェアは使え、結構便利でしたが、インターネット時代になり、状況が変わってきました。ADSLや専用線ではモデムを使わなくなり、直接パソコン同士が通信する手法にTCP/IPが使われるようになり、以前から使っていたこのソフトウェアもそろそろ新しい環境に合わせることが必要になりました。そこで、考えたのがこの「ScriptMail」です。最近のインターネット事情を考え、どのような環境のパソコンでも利用できることを考慮した結果、メールを利用することにしました。メールであれば、通常インターネットに接続していれば使用できるはずです。固定IPも必要ありませんし、ファイアウォール内のプライベートIPで振られたパソコン上でもメールを受け取ることは可能になっているのが普通です。開発中に苦労した点
さて、実際に作りはじめると、メールの処理に結構苦労しました。開発コンポーネントとして、メールを受け取る機能を備えたもの(POP3やAPOP、IMAP)はいろいろあるのですが、日本語処理がうまくできるものは少なく、結局、ソースも公開されているコンポーネントを利用して、コンポーネントのソースを解析して日本語処理部分に関するバグ修正する必要があり、その作業に開発の大部分の時間を取られました。実際にインターネットに流れているメールのヘッダの形式は多種多様で、Windowsでのメジャーなメールクライアントソフトウェアでさえ、日本語の文字化けを完全に防ぐことができておらず、苦労しました。
現時点の「ScriptMail Ver.1.02」でも、「xxx@xxx.xxx.xxx <名前>」という形のFromデータはきちんと解析できますが、「<名前>xxx@xxx.xxx.xxx」では、特に、名前の部分がMIMEエンコードされていないJISコードで記述されていた場合、メールアドレスの解析とデコードが完全に対応できないことがあります。ここは、今後も地道に改善していくつもりです。
ユーザにお勧めする使い方
結局、「ScriptMail」のできることは単純です。単純であるがゆえに、ユーザの使い方でどのようなことでも可能になります。例えば、何かソフトウェアを作成してそれを添付し、そのソフトウェアを起動するバッチファイルを本文に書いて送れば、送り込んだソフトウェアが起動します。このソフトウェアはEXEファイルでなくとも大丈夫です。例えば、Perlのスクリプトを添付して、バッチファイルにて、「perl xxx.pl」などと記述すれば、Perlを実行できます。
Windowsのアプリケーションを動作、操作させたければ、「UWSC」(VECTOR Windows→ユーティリティ→操作関係)などのWindowsアプリケーション自動実行ソフトを利用すれば実現できます。メールを送るようなスクリプトの作成には「WinMailCmd」「SSMail」「BlatJ」「CmdMail」(VECTOR Windows→インターネット&通信→メール用ユーティリティ)などを利用できます。また、「CmdMail」のようなソフトを使えば、「ScriptMail」に命令を送る側の処理のメニュー化などができ、便利です。
さらに、多数の「ScriptMail」を常駐させたパソコンに対して、一括送信で同じメールを送り込むことも可能で、すべてのパソコンに対して同じパッチを当てるようなことができます。
今後のバージョンアップ予定
今後のテーマとしては、
- SSL対応
- メールアカウントごとに実行フォルダの設定を分ける
- Linux版の開発
などがあります。常駐させるソフトウェアをなるべく小さくするため、ほかのソフトウェアで可能な機能は組み込まないようにし、応用例を含め、ドキュメントを充実させていくのが本筋と考えています。
(てくてく)