今日も「Webメール」のさらなる進化に取り組んでいました。受信したメールの添付の取り扱いには随分苦労しましたが、今回は「Webメール」で送信する場合の添付ファイルの扱いです。
朝の通勤途中で、「添付ファイル」をどのようにやれば良いのか頭の中でシミュレーションした限りでは「こんなの簡単でしょ。ちょいちょい。」のハズでしたが、またまたドツボに嵌ってしまった。「うーん、うーん、うーん」と唸ること1時間、ピッピッと閃く。
メールの作成フォームで添付ファイルを選択して“POST”した先で、メールの送信が実行されるわけですが、ここで添付ファイルの送信ができずに「エラー」になってしまうわけで、エラーの理由は「受信時の添付ファイル」と同じです。つまりスクリプトが実行されるPC(今回の場合は“サーバ”になります)のディスクにあるファイルを送信させることができるわけで、ブラウザ側のPCのファイルが送信されるわけではないのです。しかし「Webメール」を使う人からすれば当然のごとくブラウザ側のPCのファイルを送信したいわけです。なんか矛盾しているよなと思いながらも手立てを模索した結果、閃きました。
「添付ファイル」にしたいファイルをブラウザ側のPCからサーバへファイル転送した後、“サーバ側にあるファイル”として添付ファイルを送信するわけです。これを一連の流れで処理させてしまえば、使う人にからすれば「普通に添付ファイルを送った」ということになります。
「添付ファイルにしたいファイルをブラウザ側のPCからサーバへファイル転送する」を応用すると「添付ファイルばら撒き事件」を解決することができるかもしれません。私の勤務先にはいろんな人がいるからなのか「添付ファイルばら撒き事件」を何度も起こす人がいます。「添付ファイルばら撒き事件」とは大勢(十数名、たまに全員)に巨大な添付ファイルを送りつけるというやつです。送った人は「たった数メガのファイルじゃん」、受け取った人も「たった数メガのファイルじゃん」で済ませてしまうかもしれませんが、仮に5メガのファイルを100名に送ったとすると送り主を含めてトータルで505メガのファイルがExchangeサーバに残ることになるのです。これははっきりいって資源のムダ使いです。「添付ファイル」にしたいファイルをサーバに転送して、その転送先のURLが添付ファイル替わりにメール本文に自動的に記述されるようにすれば、サーバ側の資源をムダ食いすることもなくなるというわけです。先の例ですと5メガで済みます。
社内でも時々見聞きすることですが「使う側の問題」というのがあります。しかし「使う側」がどうしようもなければ「仕組み」を工夫することでなんとかなることもあります。その反面、「仕組み」でなんとかしてしまうと「使う側」のレベルはますます下がってしまうのも事実です。そして使う側のレベルが低いことが根本的な原因であるにも関わらず「仕組みが悪い」と開き直る人が多いのも事実です。「便利なモノ」というものは“両刃の剣”です。使う人によって「便利」がもたらす副作用が何なのか大きく違ってきます。堕落する人もいれば向上する人もいることでしょう。