オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

メール添付ファイル加工プログラム

»

このところずっと開発しているプログラムをご紹介しましょう(製品のネタをばらしていいのか?と毎回思いますが、まあ、大した内容ではないので・・・)。

Org
こんなメールを送ったとします。画像だとよくわからないかもしれませんが、HTML形式のメールで、3つインラインで画像が張り付いていて、さらに3つ添付ファイルがついています。

これを転送途中で変換し、、

Cnv
こんなメールが届く、というプログラムを作っています。

メール本文の先頭に、インラインイメージや添付ファイルをZIPファイルに格納した、というメッセージが挿入され、インラインイメージや添付ファイルは全部1つのZIPファイルに格納されます。さらに、ZIPはパスワード付きになっています。

Zip
ZIPファイルを展開するともともと存在していた添付ファイルが出てきます。

当社にATGatewayという、添付ファイル管理ソリューションがあるのですが、それのバリエーションとして作っています。本来のATGatewayの動きとしては、添付ファイルを剥ぎ取り、ファイルサーバに自動で格納し、受信者はそれをWEBダウンロードする、という仕組みなのですが、ファイルサーバに格納するのではなく、パスワード付きZIPに固めてほしい、という要望に対応しようと作っています。

電子メールはとても便利な反面、情報セキュリティ的には最も管理が必要でなおかつ大変、という仕組みです。今どき電子メール抜きで仕事は難しい状態ですので、全社員が使えるようにしている会社が多いと思いますが、電子データを、勝手に社外に送られてしまったり、途中で盗み見られてしまったりと、様々なデータ漏洩の危険があります。特に添付ファイルは簡単にデータを渡すことができるため多用され、しかも、盗み見られる可能性も高い、ということで危険とされています。

今回のニーズでは、電子メールの便利さを損なわずに、可能な限りのデータの安全対策を行いたいということで、パスワードZIPが完全に安全と言えるかどうかはともかく、少なくとも簡単には見られないようにしたい、ということです。さらに、ノーツからのメールでうまく使えるように、という条件もあります(上のサンプルはノーツからのメールではありませんが)。

電子メールは、本来は単純なテキストデータのやりとりのために作られた仕組みですが、マルチバイト文字やバイナリデータの添付などに対応するために、MIME(Multipurpose Internet Mail Extensions)という規約に基づき、作成されています。様々なデータを従来の仕組みをそのまま使って、つまり、テキスト形式で様々なデータを送るために作られたものです。従って、エディタなどでメールデータは簡単に開いて見ることができますが、その解析は意外と面倒で、しかも、様々な方言(規定破り)があるために、プログラミングはなかなか大変なのです。

私自身は文字列処理はあまり好きではないのですが、なぜか10年以上前から、自作のファイアーウォールを作ったりしてきたため、MIMEの処理プログラムは手がけてきていて、ATGatewayでも私がMIME処理や転送処理を作っています。まあ、あまり楽しいプログラミングではないのですが、メールの重要さを考えると手は抜けないプログラミングです。

大体目処はついてきたのですが、このプログラムと、さらにもう1つネットワークの非常にマニアックなプログラムを開発中で、まさにプログラマー社長状態(つまり、頭がウニになっていて機嫌が悪い)です。。でも、動くようになると自慢したくなって、こうやってブログで自慢してみているのでした・・・。受託開発だとネタばらしはまずできませんが、自社製品なら、まあ、おたくネタなら誰にも文句は言われないので。。

Comment(0)