以下、添付図面を参照して、本発明を実施するための最良の形態について詳細に説明する。
図1は、本発明の実施形態に係る情報処理システムの構成例を示す図である。
図1に示す如く、本実施形態に係る情報処理システムは、プロキシサーバ101、ウェブメールサービスDB102、クライアントPC103−1乃至103−4(以後、まとめて「クライアントPC103」とする)、LDAPサーバ104、LAN105、広域ネットワーク106、ウェブメールシステム107−1乃至107−3(以後、まとめて「ウェブメールシステム107」とする)を有して構成されている。以下、本実施形態に係る情報処理システムを構成するこれらの装置について説明する。
プロキシサーバ101は、本実施形態に係る情報処理装置を構成するものであり、クライアントPC103とウェブメールシステム107との間のデータ通信を中継する。
また、プロキシサーバ101は、ウェブメールシステム107を識別するためのウェブメールサービス情報や、ウェブメールのデータ通信を許可する/拒否(不許可)するといった中継制御に使用するルールであるウェブメール規制ルールが登録されているウェブメールサービスDB102を備えている。
また、プロキシサーバ101は、さらにウェブメールサービスDB102に設定されている情報の登録、修正等を行わせるための設定ページの提供等を行うWebサーバ機能なども有している。なお、ウェブメールサービスDB102は、プロキシサーバ101内に備えていても、別のコンピュータ内に実装しても構わない。
クライアントPC103は、ウェブメールシステム107が提供するウェブメールサービスを利用するユーザが使用する端末装置である。
LDAP(Lightweight Directory Access Protocol)サーバ104は、企業ディレクトリ情報、即ちネットワークを利用するユーザや組織に関する情報等を管理するディレクトリサービスを提供するものである。なお、本発明に適用可能なディレクトリサービスは、LDAPに限られるものではなく、他のものであってもよい。例えば、Active Directoryであっても、NDS(Novell Directory Service)等であってもよい。
LAN(Local Area Network)105は、プロキシサーバ101、クライアントPC103及びLDAPサーバ104をデータ通信可能に相互に接続させるものである。広域ネットワーク106は、インターネット等の広域ネットワークを示す。
ウェブメールシステム107は、HTTPを利用した電子メールの送受信サービスであるウェブメールサービスを提供するものである。
その他、図示していないが、広域ネットワーク106には、ウェブメールサービス以外のサービスを提供している様々なウェブサーバが接続されている。
図2は、本発明の実施形態に係るプロキシサーバ101のハードウェア構成の一例を示すブロック図である。
図2において、201はCPUで、RAM202やROM203に記憶されているプログラムやデータを用いてプロキシサーバ101全体の制御を行うとともに、プロキシサーバ101が行う後述の各処理を実行する。
202はRAMで、HDD(ハードディスクドライブ)204や記録媒体ドライブ206からロードされたプログラムやデータ、或いは、ネットワークI/F(インターフェース)205を介して他の機器から受信したプログラムやデータ等を一時的に記憶するためのエリアや、CPU201が各種の処理を実行する際に用いるワークエリア等、各種のエリアを適宜提供することができる。
203はROMで、プロキシサーバ101の設定データや、ブートプログラム等を記憶する。
204はHDDで、OS(オペレーティングシステム)や、プロキシサーバ101が行う後述の各処理をCPU201に実行させるためのプログラムやデータ等を保存するものであり、これらはCPU201による制御に従って適宜RAM202にロードされ、CPU201の処理対象となる。
205はネットワークI/Fで、プロキシサーバ101を上記LAN105、広域ネットワーク106に接続させるためのものであり、プロキシサーバ101は、このネットワークI/F205を介してLAN105や広域ネットワーク106に接続されている各装置とのデータ通信を行う。
206は記録媒体ドライブで、CD−ROM、CD−R/RW、DVD−ROM、DVD−R/RW、DVD−RAM等の記録媒体に記録されているプログラムやデータを読み出し、RAM202やHDD204に出力する。なお、HDD204が保持しているデータのうちの一部をこの記録媒体に記憶させておいても良い。
207はキーボード、208はマウスやジョイスティック等により構成されているポインティングデバイスで、プロキシサーバ101の操作者が操作することで、各種の指示をCPU201に対して入力する入力部として機能する。
209は表示部で、CRTや液晶画面などにより構成されており、CPU201による処理結果を画像や文字などで表示する。
210は外部機器接続I/Fで、周辺機器をプロキシサーバ101に接続させるためのポートである。プロキシサーバ101は、この外部機器接続I/F210を介して、周辺機器とのデータ通信を行う。外部機器接続I/F210は、USBやIEEE1394等により構成されており、通常複数の外部機器接続I/F210を有する。周辺機器との接続形態は有線/無線を問わない。
211はバスで、上述の各部201〜210を接続する。
なお、プロキシサーバ101のハードウェア構成は、図2に示した構成を有するとして説明するが、必ずしも同図の構成を有することに限定するものではなく、プロキシサーバ101が行う後述の各種処理を実行可能であればプロキシサーバ101の構成は適宜変更しても良い。
また、クライアントPC103−1乃至103−4、ウェブメールシステム107−1乃至107−3のハードウェア構成も、これらには一般的なコンピュータを適用するので、周知の如く、概ね図2に示した構成を有する。
図3は、本発明の実施形態に係るプロキシサーバ101の機能構成の一例を示す図である。
図3に示すように、プロキシサーバ101は、ウェブメール規制ルール受付手段301、ウェブメール規制ルール記録手段302、ウェブメール通信特定手段303、ウェブメール通信中継制御手段304、通信許可/不許可応答送信手段305、ウェブメールサービス情報設定手段306を有して構成されている。
ウェブメールサービス情報設定手段306は、ウェブメールサービスを特定するための情報(詳細は後述する図11及び図12の情報)をウェブメールサービスDB102に設定(登録、修正、削除等)する。
ウェブメール規制ルール受付手段301は、ウェブメールの送信の許可/拒否(不許可)を判断するためのウェブメール規制ルールの入力を受け付ける。
ウェブメール規制ルール記録手段302は、ウェブメール規制ルール受付手段301で受け付けたルール(詳細は後述する図17に示すルール)をウェブメールサービスDB102に登録する。
ウェブメール通信特定手段303は、ウェブメールサービス情報設定手段306で設定されウェブメールサービスDB102に登録された情報に基づいてウェブメール通信に該当する通信を特定する。
ウェブメール通信中継制御手段304は、ウェブメール通信特定手段303で特定されたウェブメールサービスへの通信に含まれる、送信者(FROM)、宛先(TO)、CC、BCC、標題、本文、添付ファイルなどの情報をウェブメールサービス詳細情報テーブル(図12、詳細は後述する)に従って取得し、取得したそれらの情報とウェブメール規制ルール受付手段301で受け付けられウェブメールサービスDB102に登録されたルールに基づいてウェブメールの送信の許可/拒否(不許可)の制御(送信規制制御)を行う。
通信許可/不許可応答送信手段305は、ウェブメール通信中継制御手段304で送信を許可した通信を送信したクライアントPC103に対してウェブメールシステム107からの応答を転送する、或いはウェブメール通信中継制御手段304で送信を拒否(不許可)したウェブメールを送信したクライアントPC103に対してメールデータを送信しなかった(送信不許可とした)旨の通知を行う。
なお、プロキシサーバ101のHDD204には、ウェブメール規制ルール受付手段301、ウェブメール規制ルール記録手段302、ウェブメール通信特定手段303、ウェブメール通信中継制御手段304、通信許可/不許可応答送信手段305、ウェブメールサービス情報設定手段306としてプロキシサーバ101を制御させるためのプログラムが記録されている。そして、これらのプログラムをプロキシサーバ101のCPU201がRAM202にロードして実行することにより上記各手段301〜306が実現される。
次に図4を参照してウェブメールの通信について説明する。
図4は、図1に示す情報処理システムにおいて行われるウェブメール通信の一例を模式的に示した図である。
図4に示すように、クライアントPC103−1のブラウザソフトで作成され送信されたウェブメールデータ2201−1,2201−2、2201−3は、ウェブメールシステム107−1のウェブメールAPサーバで統合され(複数のウェブメールデータで1つのメールメッセージを構成する場合)、1つの電子メールメッセージ(SMTPメッセージ)2201が作成される。その電子メールメッセージが通常の電子メールと同様に電子メールサーバに送信されることになる。この場合、例えば、1つのウェブメールデータ(2201−1,2201−2、2201−3)が1つのトランザクション(リクエスト)として処理される。
次に、図5を参照して図1に示したプロキシサーバ101で行われる処理を説明する。
図5は、本発明の実施形態に係るプロキシサーバ101で行われる処理の一例を模式的に示した図である。なお、図4と同一のものには同一の符号を付してある。
図5に示すように、プロキシサーバ101は、クライアントPC103−1からウェブメールデータ2201−1乃至2201−3を受信すると、それぞれのウェブメールデータに対してウェブメール規制ルールを適用する。そして、プロキシサーバ101は、送信許可と判断したデータのみをウェブメールサービスに送信する。また、プロキシサーバ101は、送信を許可したデータから1つの電子メールメッセージ2201の全てのデータを、管理している。プロキシサーバ101は、クライアントPC103−1からウェブメールの送信指示を受信すると、電子メールメッセージ2201に対してメール規制ルールを適用する。そして、プロキシサーバ101は、送信許可と判断した場合のみ、ウェブメールの送信指示をウェブメールサービスに中継する。以上がプロキシサーバ101の処理の模式的な説明である。
次に、フローチャートを参照して、プロキシサーバ101によって行われる処理手順の一例について説明する。
図6は、本発明の実施形態に係るプロキシサーバ101で行われる制御処理の一例を示すフローチャートである。この図6は、プロキシサーバ101によって行われる全体的な処理の概要を示すフローチャートに対応する。なお、このフローチャートの処理は、プロキシサーバ101のCPU201がHDD204に格納されるプログラムをRAM202にロードして実行することにより実現される。
まず、CPU201は、ユーザからウェブメールサービス情報の設定変更要求を受け付けたか否かを判断する(ステップS401)。そして、ウェブメールサービス情報の設定変更要求を受けたと判断した場合には(ステップS401でYes)、CPU201は、ウェブメールサービス情報の設定処理を行う(ステップS402)。なお、ステップS402の処理の詳細については、図7を参照して後述する。そして、ステップS402の処理が終わると、CPU201は、ステップS403に処理を進める。
一方、ウェブメールサービス情報の設定変更要求を受けていないと判断した場合には(ステップS401でNo)、CPU201は、そのままステップS403に処理を進める。
ステップS403では、CPU201は、ウェブメール規制ルールの設定変更要求を受け付けたか否かを判断する。そして、ウェブメール規制ルールの設定変更要求を受け付けたと判断した場合には(ステップS403でYes)、CPU201は、ウェブメール規制ルールの設定処理を行う(ステップS404)。なお、ステップS404の処理の詳細については、図13を参照して後述する。そして、ステップS404の処理が終わると、CPU201は、ステップS405に処理を進める。
一方、ウェブメール規制ルールの設定変更要求を受け付けていないと判断した場合には(ステップS403でNo)、CPU201は、そのままステップS405に処理を進める。
ステップS405では、CPU201は、ステップS402で設定したウェブメールサービス情報及びステップS404で設定したウェブメール規制ルールに基づいて、ウェブメールの通信制御処理を行う(ステップS405)。なお、ステップS405の処理の詳細については、図18を参照して後述する。そして、ステップS405の処理が終わると、CPU201は、ステップS406に処理を進める。
ステップS406では、CPU201は、ウェブメールの通信制御処理の終了指示を受けたか否かを判断する。そして、ウェブメールの通信制御処理の終了指示を受けていないと判断した場合には(ステップS406でNo)、CPU201は、ステップS401に処理を戻す。
一方、ウェブメールの通信制御処理の終了指示を受けたと判断した場合には(ステップS406でYes)、CPU201は、そのまま本フローチャートの処理を終了する。即ち、CPU201は、上記のS401〜S405の処理を、ウェブメールの通信制御処理の終了指示を受けるまで(ステップS406でYesと判断するまで)繰り返す。
以下、図7を参照して、図6のステップS402に示したウェブメールサービス情報の設定処理を詳細に説明する。
図7は、図6のステップS402に示したウェブメールサービス情報の設定処理における詳細な処理の一例を示すフローチャートである。即ち、本処理は、プロキシサーバ101のCPU201によって行われる。なお、本処理を行う際に、CPU201は、ウェブメールサービス情報設定手段306としてプロキシサーバ101を機能させるためのプログラムをHDD204からRAM202にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
まず、プロキシサーバ101のCPU201は、ウェブメールサービス情報の設定変更要求を送信してきたクライアントPC103に対して、例えば、図8に示すようなウェブメールサービス設定画面1100を送信する(ステップS501)。ここで、ウェブメールサービス設定画面1100について説明する。
図8は、ウェブメールサービス設定画面の一例を示す図である。
図7のステップS501の処理に応じて、プロキシサーバ101に対してウェブメールサービス情報の設定変更要求を送信したクライアントPC103のディスプレイ装置(例えば、図2に示す表示部)には、図8に示すウェブメールサービス設定画面1100が表示される。
図8において、1101は登録件数表示ボックスであって、すでに登録されているウェブメールサービス数が表示される。
1102はウェブメールサービス選択コンボボックスであって、すでに登録されているウェブメールサービスを選択するコントロールである。ここで選択されたウェブメールサービスの詳細設定が、後述の詳細設定表示部1106に表示されることになる。
1103は追加ボタンであって、このボタンをポインティングデバイスによりクリック指示(以下「押下」という)することで、ウェブメールサービスの追加を行うことが可能になる。この追加ボタン1103が押下されると、プロキシサーバ101に対してウェブメールサービスの追加要求が発行され、当該ディスプレイ装置に、図9に示すウェブメールサービス追加画面1200が表示されることになる。なお、このウェブメールサービス追加画面1200については、図9を参照して後述する。
1104は編集ボタンであって、このボタンが押下されるとプロキシサーバ101に対してウェブメールサービス編集要求が発行され、ウェブメールサービス選択コンボボックス1102で選択されているウェブメールサービスの登録情報が編集可能になる(図9を用いて編集)。
1105は削除ボタンであって、このボタンが押下されるとウェブメールサービス選択コンボボックス1102で選択されているウェブメールサービスの削除要求が発行される。即ち、この削除ボタン1105を押下することで、すでに登録されているウェブメールサービスを削除することが可能である。
1106はウェブメールサービスの詳細設定表示フィールドであって、ここにはウェブメールサービスの詳細設定ID1107、URL1108、本文/添付/本文&添付を示す種別1109などが表示される。そして、操作欄に設定されている編集ボタン1110を押下することで詳細設定の編集が可能であり、また、削除ボタン1111を押下することで詳細設定の削除が可能である。また、1112は追加ボタンであり、このボタンを押下すると詳細設定の追加が可能になる。以上が、図8に示すウェブメールサービス設定画面の一例の詳細な説明である。
以下、図7のフローチャートの説明に戻る。
ステップS502では、CPU201は、ウェブメールサービス設定画面1100を介して発行されたウェブメールサービスの追加要求を受けたか否かを判断する。この追加要求は、クライアントPC103のディスプレイ装置に表示されているウェブメールサービス設定画面1100(図8)の追加ボタン1103が押下された場合に発行されるものである。
ウェブメールサービスの追加要求を受信していないと判断した場合には(ステップS502でNo)、CPU201は、そのままステップS504に処理を進める。
一方、ウェブメールサービスの追加要求を受信したと判断した場合には(ステップS502でYes)、CPU201は、図9に示すウェブメールサービス追加画面1200を、要求を行ってきたクライアントPCに対して送信する(ステップS503)。ここでウェブメールサービス追加画面1200について説明する。
図9は、ウェブメールサービス追加画面1200の一例を示す図である。
図7のステップS503の処理に応じて、プロキシサーバ101に対してウェブメールサービスの追加要求を行ったクライアントPC103のディスプレイ装置には、図9に示すウェブメールサービス追加画面1200が表示されることになる。
図9において、1201はウェブメールサービスを一意に示すサービスIDの表示欄である。このサービスIDは自動的に付与しても、ユーザの入力部からの入力指示に基づいて設定しても(重複は許さない)構わない。
1202はサービス名称入力欄であって、ウェブメールサービスのサービス名称の入力を受け付ける。
1203はOKボタンであって、このボタンが押下された場合にクライアントPC103は本画面に入力された情報を確定し、新規のウェブメールサービスの登録要求をプロキシサーバ101に対して行う。
1204キャンセルボタンであって、入力内容をキャンセルするとともにウェブメールサービス追加画面1200の表示を終了する。以上が、図9に示すウェブメールサービス追加画面の一例の詳細な説明である。
以下、図7のフローチャートの説明に戻る。
ステップS504において、CPU201は、ウェブメールサービスの詳細設定要求を受け付けたか否かを判断する。この詳細設定画面要求は、クライアントPC103のディスプレイ装置に表示されているウェブメールサービス設定画面1100(図8)の編集ボタン1110若しくは追加ボタン1112が押下された場合に発行されるものである。
ここで、図8に示す追加ボタン1112が押下された場合には、新規の詳細設定処理を行い、編集ボタン1110が押下された場合には、すでに設定されている詳細設定の編集処理を行うことになる。
ウェブメールサービスの詳細設定要求を受け付けていないと判断した場合には(ステップS504でNo)、CPU201は、そのままステップS506に処理を進める。
一方、ウェブメールサービスの詳細設定要求を受け付けたと判断した場合には(ステップS504でYes)、CPU201は、図10に示すウェブメールサービス詳細設定画面1300を、詳細設定要求を送信してきたクライアントPC103に対して送信する(ステップS505)。ここで、ウェブメールサービス詳細設定画面1300について説明する。
図10は、ウェブメールサービス詳細設定画面1300の一例を示す図である。
図7のステップS505の処理に応じて、プロキシサーバ101に対してウェブメールサービスの詳細設定要求を行ったクライアントPC103のディスプレイ装置には、図10に示すウェブメールサービス詳細設定画面1300が表示されることになる。
図10において、1301はウェブメールサービス表示欄であって、詳細設定を行うウェブメールサービスの名称(図9のサービス名称入力欄1202で設定)が表示される。
1302は種別選択欄であって、「本文」、「添付」、「本文&添付」の選択が可能である。これは後述のURL入力欄1304が宛先になっている場合にどのような種別(本文、添付、本文&添付)のデータが送信されるかを示すものである。ウェブメールでは、SMTPの電子メール送信とは異なり、クライアントPC103から本文と添付ファイルが同一のトランザクション(同一のリクエスト)で送信されないものもあるので、このような情報を設定しておく必要がある。これを用いて、ウェブメール通信特定手段303は、ウェブメールサーバに中継するデータの種別を特定する。
1303は詳細設定ID表示欄であって、ウェブメールサービスの詳細設定を一意に示す詳細設定ID表示欄である。このIDは自動的に付与しても、ユーザの入力部からの入力指示に基づいて設定しても(同一ウェブメールサービス内での重複は許さない)構わない。
1304はURL入力欄であって、ここにウェブメールサービスを特定するURLが入力されることになる。この情報をもとにウェブメールサービスに対する通信を特定することになる。
1305は発信者フィールドであって、電子メールの送信処理の際に送信者(From)を示すデータが送信時に設定される変数名の入力を行う入力欄である。
1306は宛先フィールドであって、電子メールの送信処理の際に宛先として設定されたアドレス(TO)を示すデータが送信時に設定される変数名の入力を行う入力欄である。
1307はCCフィールドであって、電子メールの送信処理の際に同報先として設定されたアドレス(CC)を示すデータが送信時に設定される変数名の入力を行う入力欄である。
1308はBCCフィールドであって、電子メールの送信処理の際にBCCとして設定されたアドレスを示すデータが送信時に設定される変数名の入力を行う入力欄である。
1309は標題フィールドであって、電子メールの送信処理の際に、標題が設定される変数名の入力をおこなう入力欄である。
1310は本文フィールドであって、電子メールの送信処理の際に、本文として入力された内容が設定される変数名の入力を行う入力欄である。
1311は添付フィールドであって、電子メールの送信処理の際に、添付ファイルとして設定されたファイルの内容が設定される変数名の入力を行う入力欄である。
なお、ウェブメールでは、FROM,TO,CC,BCC,標題,本文,添付として入力された内容が設定される変数名がウェブメールサービスによって異なるため、これを判断するために1305〜1311のような情報を設定しておく必要がある。URL入力欄1304で示されるURLへのリクエストでは送信されないデータについては、これら情報を設定する必要はない。そして、この情報をもとにして、ウェブメール通信中継制御手段304は、FROM,TO,CC,BCC,標題,本文,添付の情報を通信データから取得して、ウェブメール規制ルールに合致する/しないを判断し、通信制御を行うことになる。
1312はOKボタンであって、入力した内容を確定させる。1313はキャンセルボタンであって、編集された内容を無効化する。
なお、1つのウェブサービスについて複数の詳細設定を行うことが可能となっている。これは、電子メールの本文の入力を行うためのページのURLと、添付ファイルの設定を行うためのページのURLが異なる場合があるからである。以上が、図10に示すウェブメールサービス詳細設定画面の詳細な説明である。
以下、図7のフローチャートの説明に戻る。
ステップS506では、CPU201は、図9に示すウェブメールサービス追加画面1200、図10に示すウェブメールサービス詳細設定画面1300を介して入力された入力情報(ウェブメールサービス情報)を受信したか否かを判断する。
そして、入力情報を受信したと判断した場合には(ステップS506でYes)、CPU201は、受信した入力情報をウェブメールサービスDB102に保存する(ステップS507)。なお、ウェブメールサービス追加画面1200を介して入力された入力情報を受信した場合には、当該入力情報をウェブメールサービスDB102中のウェブメールサービステーブル1700(図11)に登録し、また、ウェブメールサービス詳細設定画面1300を介して入力された入力情報を受信した場合には、当該入力情報をウェブメールサービス詳細情報テーブル1800(図12)に登録する。ここで、ウェブメールサービステーブル1700(図11)、ウェブメールサービス詳細情報テーブル1800(図12)について説明する。
図11は、ウェブメールサービステーブル1700の一例を示す図である。このウェブメールサービステーブル1700には、図9のウェブメールサービス追加画面で入力された情報が登録されることになる。
図11に示すように、サービスID1701には、図9中のサービスID表示欄1201のサービスIDが登録され、また、サービス名1702には、図9中のサービス名称入力欄1202に入力されたデータが登録されることになる。以上が、図11に示すウェブメールサービステーブル1700の説明である。
図12は、ウェブメールサービス詳細情報テーブル1800の一例を示す図である。このウェブメールサービス詳細情報テーブル1800には、図10のウェブメールサービス詳細設定画面1300を介して入力されたデータが登録されることになる。
図12に示すように、サービスID1801には、図10に示すウェブメールサービス表示欄1301に表示されているウェブメールのサービス名称に対応するサービスIDが登録される。
詳細設定ID1802には、図10に示す詳細設定ID表示欄1303に表示されている詳細設定IDが登録される。
種別1803には、図10に示す種別選択欄1302で選択された種別の内容が表示される。
URL1804には、図10に示すURL入力欄1304に入力されたURLの情報が登録される。
送信データ情報中のFROM1805には、図10に示す発信者フィールド1305に入力された発信者データが設定される変数名が登録されることになる。送信データ情報中のTO1806には、図10に示す宛先フィールド1306に入力された宛先となるアドレスが設定される変数名が登録されることになる。送信データ情報中のCC1807には、図10に示すCCフィールド1307に入力された同報先となるアドレスが設定される変数名が登録されることになる。送信データ情報中のBCC1808には、図10に示すBCCフィールド1308に入力されたBCCとなるアドレスが設定される変数名が登録されることになる。送信データ情報中の標題1809には、図10に示す標題フィールド1309に入力された標題が設定される変数名が登録されることになる。送信データ情報中の本文1810には、図10に示す本文フィールド1310に入力された本文が設定される変数名が登録されることになる。送信データ情報中の添付1811には、図10に示す添付フィールド1311に入力された添付ファイルが設定される変数名が登録されることになる。
なお、図10で入力されなかった項目のデータについては、登録されないものとする。以上が、図12に示すウェブメールサービス詳細情報テーブル1800の説明である。
以下、図7のフローチャートの説明に戻る。
ステップS508では、CPU201は、ステップS507でウェブメールサービスDB102に保存した情報を含む更新したウェブメールサービス設定画面1100(図8)をクライアントPC103に送信し、ステップS502に処理を戻す。
また、ステップS506において、図9に示すウェブメールサービス追加画面1200、図10に示すウェブメールサービス詳細設定画面1300を介して入力された入力情報を受信していないと判断した場合には(ステップS506でNo)、CPU201は、ステップS509に処理を進める。
ステップS509では、CPU201は、ウェブメールサービス情報の設定処理の終了指示を受けたか否かを判断する。なお、ウェブメールサービス情報の設定処理終了指示とは、例えば、図8に示すウェブメールサービス設定画面1100中の終了ボタン(不図示)が押下された場合や、ブラウザアプリケーションの終了指示があった場合に発行されることになる。
そして、ウェブメールサービス情報の設定処理の終了指示を受けていないと判断した場合には(ステップS509でNo)、CPU201は、ステップS502に処理を戻す。
一方、ウェブメールサービス情報設定処理の終了指示を受けたと判断した場合には(ステップS509でYes)、CPU201は、そのまま本フローチャートの処理を終了する。即ち、CPU201は、上記のS502〜S508の処理を、ウェブメールサービス情報設定処理の終了指示を受けるまで(ステップS509でYesと判断するまで)繰り返す。以上が、プロキシサーバ101のCPU201によって行われるウェブメールサービス情報設定処理の一例である。
以下、図13を参照して、図6のステップS404に示したウェブメール規制ルールの設定処理を詳細に説明する。
図13は、図6のステップS404に示したウェブメール規制ルールの設定処理における詳細な処理の一例を示すフローチャートである。即ち、本処理は、プロキシサーバ101のCPU201によって行われる。なお、本処理を行う際に、CPU201は、ウェブメール規制ルール受付手段301及びウェブメール規制ルール記録手段302としてプロキシサーバ101を機能させるためのプログラムをHDD204からRAM202にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。ここで設定されるウェブメール規制ルールであるが、ウェブメールでは、SMTPの電子メール送信とは異なり、クライアントPC103から本文と添付ファイルが同一のトランザクション(同一のリクエスト)で送信されないものもあるので、本文用のルール、添付用のルールを登録して、本文と添付を個別に規制制御可能にしている。
まず、プロキシサーバ101のCPU201は、ウェブメール規制ルールの設定要求を送信してきたクライアントPC103に対して、例えば、図14に示すようなウェブメール規制ルール設定画面1400を送信する(ステップS601)。ここで、ウェブメール規制ルール設定画面1400について説明する。
図14は、ウェブメール規制ルール設定画面の一例を示す図である。
図13のステップS601の処理に応じて、プロキシサーバ101に対してウェブメール規制ルールの設定要求を送信したクライアントPC103のディスプレイ装置(例えば、図2に示す表示部)には、図14に示すウェブメール規制ルール設定画面1400が表示されることになる。
図14において、1401は条件ID表示欄であって、当該ウェブメール規制ルール中の詳細ルールの設定を一意に示すIDが表示される。
1402は優先度表示欄であって、当該詳細ルールの適用の優先度が表示される。本実施形態においては、各詳細ルールは、異なる優先度を持つものとする。1403は名称表示欄であって、詳細ルールの名称として設定された文字列が表示される。
1404はコメント表示欄であって、当該詳細ルールに設定されているコメントが表示される。1405は種別表示欄であって、「本文」、「添付」の種別が表示される。この設定により本文用のルール、添付用のルールという設定が行われる。
1406はユーザ条件式表示欄であって、電子メールの送信者を詳細ルールに設定している場合には、この欄にその条件式が表示されることになる。1407は宛先条件式表示欄であって、宛先(同報先(CC)、BCCを含む)を詳細ルールに設定している場合には、この欄にその条件式が表示されることになる。1408はキーワード条件式表示欄であって、本文や標題中に特定キーワードがあった場合に、送信制御を行うための条件であるキーワード条件として設定された内容が表示される。図14の例では、本文中に、「社外秘」、「グループ外秘」、「極秘」、「機密」のいずれかのキーワードが含まれている場合には、この条件に合致すると判断されることになる(「|」はOR条件)。
1409は動作表示欄であって、上記条件式に合致したウェブメールの送信を許可する/不許可とする設定が表示される。1410は運用状態表示欄であって、本番中/テスト中等の運用状態が表示される。
1411はMIME条件表示欄であって、添付ファイルのファイルタイプの条件設定が表示される。1412はキーワード条件式表示欄(添付)であって、添付ファイル中に特定キーワードがあった場合に、送信制御を行うための条件であるキーワード条件として設定された内容が表示される。
以上に示した詳細ルールは、編集ボタン1413を押下することで編集をすることが可能であり、また、削除ボタン1414を押下することで削除することが可能である。
また、追加ボタン1415を押下すると、詳細ルールの設定の追加が可能になる。以上が、図14に示すウェブメール規制ルール設定画面の説明である。
以下、図13のフローチャートの説明に戻る。
ステップS602において、CPU201は、ウェブメール規制ルールの詳細設定要求を受け付けたか否かを判断する。この詳細設定要求は、クライアントPCのディスプレイ装置に表示されているウェブメール規制ルール設定画面1400の追加ボタン1415、或いは編集ボタン1413が押下された場合に発行されるものである。
この際、追加ボタン1415が押下された場合には、新規の詳細ルールの設定の追加処理を行い、編集ボタン1413が押下された場合には、すでに設定されている詳細ルールの設定の変更処理を行うことになる。また、追加ボタン1415が押下された場合には、「本文」用、「添付」用のどちらのウェブメールの規制ルールを行うかを選択させる不図示のダイアログが表示され、さらに、「本文」が選択された場合には、本文用ウェブメール規制ルール詳細設定画面1500(図15)が表示され、「添付」が選択された場合には、添付用ウェブメール規制ルール詳細設定画面1600(図16)が表示されることになる。
そして、ウェブメール規制ルールの詳細設定要求を受け付けたと判断した場合には(ステップS602でYes)、CPU201は、ウェブメール規制ルール詳細設定画面(図15若しくは図16)を、当該詳細設定要求を送信してきたクライアントPC103に対して送信する(ステップS603)。ここで、本文用ウェブメール規制ルール詳細設定画面1500、添付用ウェブメール規制ルール詳細設定画面1600について説明する。
図15は、本文用ウェブメール規制ルール詳細設定画面1500の一例を示す図である。プロキシサーバ101に対してウェブメール規制ルールの詳細設定要求を行い、本文メッセージの詳細ルールの設定が選択された場合には、クライアントPC103のディスプレイ装置に、図15に示す本文用ウェブメール規制ルール詳細設定画面1500が表示されることになる。ここで設定された詳細ルールは、ウェブメールの本文となるHTTPメッセージに対して適用されることになる。
図15において、1501は条件ID表示欄であって、詳細ルールを一意に示す詳細ルールID(条件ID)表示欄である。この条件IDは自動的に付与しても、ユーザの入力部からの入力指示に基づいて設定しても(同一ウェブメール規制ルール内での重複は許さない)構わない。
1502は優先度入力欄であって、詳細ルールの適用の優先度を示す数値の入力を受け付ける。ここで、各詳細ルールは、異なる優先度を持つものとする。なお、各詳細ルールのウェブメールに対する適用は、優先度が高い順に行われ、条件に合致した詳細ルールがあった場合には、その詳細ルールで示す条件式に合致した場合の動作を行わせる。よって、条件に合致した詳細ルールよりも優先度の低い詳細ルールの適用は、基本的に行われない。
1503はウェブメール規制ルール名称入力欄であって、この詳細ルールの名称の入力を受け付ける。1504はコメント入力欄であって、この詳細ルールについてのコメントの入力を受け付ける。
1505はユーザ条件指定チェックボックス、1506は宛先条件指定チェックボックス、1507はキーワード条件指定チェックボックスであって、これらチェックボックスのうち、チェックが入れられた(図中では■:チェックあり、□:チェックなしを示す)条件の設定が可能になる。
ユーザ条件指定チェックボックス1505がチェックされると、送信者を条件とした条件式を詳細ルールに設定することが可能となる。その際には、ユーザ名を条件とするか、それともグループを条件にするかを、ユーザ名ラジオボタン1508若しくはグループラジオボタン1509の選択により決定する。この際、ユーザ名ラジオボタン1508が選択された場合にはユーザアドレス入力欄1510に、また、グループラジオボタン1509が選択された場合にはグループ入力欄1511に、それぞれこの条件でのヒット条件とするアドレス若しくはグループを入力する。ここでの入力は、特定の区切り子(例えば、スペース等)で区切ることにより複数入力することが可能である。
また、参照ボタン1512及び1513が押下された場合には、LDAPサーバ104で管理されているユーザ情報、グループ情報が選択可能となる不図示のダイアログボックスが表示され、そのダイアログを介してユーザやグループの選択が可能になる。本実施形態では、ユーザ情報指定若しくはグループ情報指定のどちらかによる設定を行う例を示しているが、勿論、双方を同時に設定可能にしても構わない。
宛先条件指定チェックボックス1506がチェックされると、宛先を条件とした条件式を詳細ルールに設定することが可能となる。その際には、まず、宛先条件指定コンボボックス1514で「TO」、「CC」、「BCC」またはそれらの組み合わせを指定する。宛先条件指定コンボボックス1514で指定された宛先条件に、指定のアドレスがあった場合に条件にヒットするといった条件式を設定することになる。
宛先条件指定の場合には、特定のアドレスを指定するか(アドレスラジオボタン1515を選択する)、若しくは、特定のグループを指定するか(グループラジオボタン1516を選択する)が選択可能である。そしてアドレスラジオボタン1515が選択された場合には、アドレス入力欄1517への入力が可能となり、グループラジオボタンが選択された場合には、グループ入力欄1518への入力が可能となる。本実施形態では、アドレス指定若しくはグループ指定のどちらかによる設定を行うことになっているが、双方を同時に設定させても勿論かまわない。
1519は合致条件指定コンボボックスである。そして、アドレスが指定された場合には、アドレス入力欄1517に入力されたアドレスが宛先条件指定コンボボックス1514で指定されている宛先(TO、CC、BCC)の合致条件指定コンボボックス1519で選択された状態(例えば「一致する」、「含む」、「含まない」等)に合致する場合に、ヒットとなる。また、グループが指定されている場合には、グループ入力欄1518に入力されたグループに含まれるアドレスが宛先条件指定コンボボックス1514で指定されている宛先(TO、CC、BCC)の合致条件指定コンボボックス1519で選択された状態(例えば「一致する」、「含む」、「含まない」等)に合致する場合に、ヒットとなる。ユーザ条件設定の場合と同様、アドレス入力欄1517やグループ入力欄1518には、所定の区切り子で区切ることにより、条件を複数入力することが可能である。また、図中には示していないが、参照ボタンを用意して、ユーザやグループの選択ダイアログを表示させ、そのダイアログを介した選択により入力させてももちろん良い。また、グループについては、LDAPサーバ104で管理されているディレクトリ情報中のグループだけでなく、独自に設定した社外のアドレスを含むグループを作成することももちろん可能である。
キーワード条件指定チェックボックス1507がチェックされると、キーワードを条件とした条件式を詳細ルールに設定することが可能である。この場合は、まず、特定キーワードがメールのどの部分(例えば標題、本文、全て)にあるかの条件をキーワード箇所指定コンボボックス1520で選択する。そして、キーワード条件をキーワード入力欄1521に入力する。キーワード入力欄には、複数のキーワードを入力することが可能であり、またそれらの結合条件(AND条件:例えば「&」で設定、OR条件:例えば「|」で設定、結合優先度設定:例えば括弧「()」で設定)の設定も可能である。
そして、動作表示欄において、上記条件に合致した場合に(ユーザ条件、宛先条件、キーワード条件をAND条件で結合)、ウェブメールに対しての送信を許可する(許可ラジオボタン1522)、或いは、許可しない(不許可ラジオボタン1523)を設定する。この際、動作表示欄において、ユーザ条件、宛先条件、キーワード条件の結合方法を入力するための領域を設定して、その領域に結合条件を入力し、その結合条件を満たした場合に送信を許可する/不許可とするといった設定を用いても勿論かまわない。
そしてOKボタン1524が押下された場合、上記設定した詳細ルールの登録要求をプロキシサーバ101に対して行うことになる。以上が、図15に示す本文用ウェブメール規制ルール詳細設定画面1500の説明である。
図16は、添付用ウェブメール規制ルール詳細設定画面1600の一例を示す図である。プロキシサーバ101に対してウェブメール規制ルールの詳細設定要求を行い、添付メッセージの詳細ルールの設定が選択された場合には、クライアントPC103のディスプレイ装置に、図16に示す添付用ウェブメール規制ルール詳細設定画面1600が表示されることになる。ここで設定された詳細ルールは、ウェブメールの添付ファイルを含むHTTPメッセージに対して適用されることになる。図16の一部については、図15の本文用ウェブメール規制ルール詳細設定画面1500と同様の機能になるので、その部分には同一の符号を付し、その説明は割愛する。
図16において、1601はMIME条件設定チェックボックスで、この条件を設定する/しないを指定するためのコントロールである。MIME条件設定チェックボックス1601がチェックされると、条件セットコンボボックス1602でファイルタイプを選択することが可能となる。MIME条件は、Content-Typeと拡張子の組合せによってファイルタイプを指定する(例えば、マイクロソフト社のWordファイルに対する条件は、Content-Typeがapplication/msword、拡張子が.doc)。そして、このMIME条件の設定では、添付ファイル中に特定のキーワードがあった場合に、送信を許可する/不許可とするといった判断が行われる。また、キーワード条件が設定されていない場合には、MIME条件で設定されているファイルが添付ファイルとして設定されている場合に、送信を許可する/不許可といった判断が行われる。以上が、図16に示す添付用ウェブメール規制ルール詳細設定画面1600の説明である。
以下、図13のフローチャートの説明に戻る。
ステップS604では、CPU201は、ウェブメール規制ルールの詳細設定画面(図15、図16)を介して入力された入力情報(ウェブメール規制ルール情報)を受信したか否かを判断する。
そして、入力情報を受信したと判断した場合には(ステップS604でYes)、CPU201は、受信した入力情報をウェブメールサービスDB102に保存する(ステップS605)。なお、受信した入力情報は、ウェブメール規制ルールテーブル1900(図17)に登録されることになる。ここで、ウェブメール規制ルールテーブル1900について説明する。
図17は、ウェブメール規制ルールテーブル1900の一例を示す図である。このウェブメール規制ルールテーブル1900には、図15、図16に示したウェブメール規制ルール詳細設定画面を介して入力されたウェブメール規制ルール情報が登録されることになる。
図17において、1901は条件IDで、ウェブメール規制ルールを一意に識別するID情報が登録される。1902は優先度で、ウェブメール規制ルールの適用の優先度が登録されている。1903は種別で、本文、添付のどちらの種別に対するウェブメール規制ルールかが登録される。
条件式1909中には、以下の情報が登録されている。
1904はユーザ条件で、送信ユーザとなるユーザ条件が登録されている。1905は宛先条件で、宛先となるユーザ条件が登録されている。1906はMIME条件であって、ファイルタイプ条件が登録されている。1907はキーワード条件であって、キーワード条件が登録されている。1908は動作条件であって、条件式に合致したウェブメールに対して送信を許可する/不許可とする設定が登録されている。以上が、図17のウェブメール規制ルールテーブル1900説明である。
以下、図13のフローチャートの説明に戻る。
ステップS606では、CPU201は、ステップS605でウェブメールサービスDB102に保存した情報を含む更新したウェブメール規制ルール設定画面1400(図14)をクライアントPC103に送信し、ステップS602に処理を戻す。
また、ステップS604において、ウェブメール規制ルールの詳細設定画面(図15、図16)を介して入力された入力情報を受信していないと判断した場合には(ステップS604でNo)、CPU201は、ステップS607に処理を進める。
ステップS607では、CPU201は、ウェブメール規制ルールの設定処理の終了指示を受けたか否かを判断する。なお、ウェブメール規制ルールの設定処理終了指示とは、例えば、図14に示すウェブメール規制ルール設定画面1400中の終了ボタン(不図示)が押下された場合や、ブラウザアプリケーションの終了指示があった場合に発行されることになる。
そして、ウェブメール規制ルールの設定処理の終了指示を受けていないと判断した場合には(ステップS607でNo)、CPU201は、ステップS602に処理を戻す。
一方、ウェブメール規制ルールの設定処理の終了指示を受けたと判断した場合には(ステップS607でYes)、CPU201は、そのまま本フローチャートの処理を終了する。即ち、CPU201は、上記のS602〜S606の処理を、ウェブメール規制ルールの設定処理の終了指示を受けるまで(ステップS607でYesと判断するまで)繰り返す。以上が、プロキシサーバ101のCPU201によって行われるウェブメール規制ルール情報設定処理の一例である。
以下、図18を参照して、図6のステップS405に示したウェブメール送信制御処理を詳細に説明する。
図18は、図6のステップS405に示したウェブメール送信制御処理における詳細な処理の一例を示すフローチャートである。即ち、本処理は、プロキシサーバ101のCPU201によって行われる。なお、本処理を行う際に、CPU201は、ウェブメール通信特定手段303、ウェブメール通信中継制御手段304及び通信許可/不許可応答送信手段305としてプロキシサーバ101を機能させるためのプログラムをHDD204からRAM202にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
プロキシサーバ101のCPU201は、LAN105上を流れるパケットを常時監視している。そして、クライアントPC103から広域ネットワーク106に設置されているウェブサーバ(ウェブメールシステム107を含む)に対しての接続要求を行うHTTPメッセージである接続リクエスト(以下「接続リクエスト」とする)を受け付ける(ステップS701)。
そして、CPU201は、接続先のウェブサーバのURLがウェブメールサービスDB102中のウェブメールサービス詳細情報テーブル1800(図12)のURL1804に登録されているかを確認することで、ウェブサーバへの接続リクエストがウェブメールデータの送信であるか否かを判断する(ステップS702)。
そして、ウェブサーバへの接続リクエストがウェブメールデータの送信ではない(接続先のウェブサーバのURLがウェブメールサービス詳細情報テーブル1800に登録されていない)と判断した場合には(ステップS702でNo)、CPU201は、当該接続リクエストをウェブサーバに対して転送する(ステップS709)。なお、このステップでは、ウェブサーバへの接続リクエストに対する他の規制ルールが設定されている場合(例えば、掲示板への書き込みに対するルール等)には、そのルールの適用が行われることになる。
一方、ウェブサーバへの接続リクエストがウェブメールデータの送信である(接続先のウェブサーバのURLがウェブメールサービス詳細情報テーブル1800に登録されている)と判断した場合には(ステップS702でYes)、CPU201は、ステップS701で取得したウェブメールデータに対してウェブメール規制ルールを適用する(ステップS703)。なお、このウェブメール規制ルールの適用処理の詳細は、図21を参照して後述する。
次に、ステップS704において、CPU201は、ステップS703のウェブメール規制ルールの適用処理において通信許可となったか否かを判断する。
そして、ステップS703のウェブメール規制ルールの適用処理において通信不許可となったと判断した場合には(ステップS704でNo)、CPU201は、不許可応答を、接続リクエストを行ったクライアントPC103に対して送信し(ステップS708)、本フローチャートの処理を終了する。
一方、ステップS704において、ステップS703のウェブメール規制ルールの適用処理において通信許可となったと判断した場合には(ステップS704でYes)、CPU201は、通信制御をセッション単位で行うか否かを判断する(ステップS705)。
なお、このステップS705の判断は、図19に示すセッション識別テーブル2000(サービスID2001)に、接続リクエストがあったウェブサービスについての情報(サービスID)が登録されている場合、CPU201は、通信制御をセッション単位で行うと判断(ステップS705でYesと判断)する。
一方、図19に示すセッション識別テーブル2000(サービスID2001)に、接続リクエストがあったウェブサービスについての情報(サービスID)が登録されていない場合、CPU201は、通信制御をセッション単位で行わないと判断(ステップS705でNoと判断)する。即ち、この場合、CPU201は、通信制御をリクエスト単位でのみ行うと判断する。
ここで、セッション識別テーブル2000について説明する。
図19は、セッション識別テーブル2000の一例を示す図である。このセッション識別テーブル2000は、予め管理者等により、ウェブメールサービスDB102に登録されるものである。
図19に示すように、セッション識別テーブル2000には、サービスID2001、セッション識別子2002、送信操作2003、下書き保存操作2004が登録されている。
サービスID2001は、ウェブメールサービスを一意に識別するIDであり、図11のサービスID1701と関連付けられている。
セッション識別子2002は、当該ウェブメールサービスにおいて同一のメールメッセージを構成するデータを示す情報が設定される変数を示す。即ち、図19に示す例では、Cookieパラメータの"SSID"値が同じデータは、同一のメールメッセージを構成するデータとなり、同一のセッションとして取り扱われる。
送信操作2003は、ウェブメールシステムに対してメールメッセージの送信指示を行う際に用いられる値(変数とその値)を示す情報を示す。
下書き保存操作2004は、ウェブメールシステムに対してメールメッセージの下書き保存指示を行う際に用いられる値(変数とその値)を示す情報を示す。以上が、セッション識別テーブル2000に登録されている情報である。
このセッション識別テーブル2000により、本文の送信と添付ファイルの送信の関連付け情報であるセッション識別子が設定される変数、送信操作を示す情報、下書き保存操作を示す情報等を前記サービス毎に管理可能となる。
以下、図18のフローチャートの説明に戻る。
ステップS705において、セッション識別テーブル2000に、接続リクエストがあったウェブサービスについての情報が登録されておらず、通信制御をセッション単位で行わないと判断した場合には(ステップS705でNo)、CPU201は、ステップS709に処理を進める。
一方、ステップS705において、セッション識別テーブル2000に接続リクエストがあったウェブサービスについての情報が登録されており、通信制御をリクエスト単位だけではなくセッション単位でも行うと判断した場合には(ステップS705でYes)、CPU201は、ステップS706に処理を進める。
ステップS706では、CPU201は、1つのメールを構成する複数のウェブメールデータ(複数の通信)について、まとめて送信制御を行う(通常のSMTPプロトコルを用いて送信される電子メールと同様の送信制御を行う)ために、1つのメールデータにまとめ作業をするためのウェブメールセッション処理を行う。なお、このウェブメールセッション処理の詳細は、図22を用いて後述する。
次に、ステップS707において、CPU201は、ステップS706のウェブメールセッション処理(図22)において通信許可となったか否かを判断する。
そして、ステップS706のウェブメールセッション処理において通信不許可となったと判断した場合には(ステップS707でNo)、CPU201は、不許可応答を、接続リクエストを送信したクライアントPC103に対して送信し(ステップS708)、本フローチャートの処理を終了する。
一方、ステップS707において、ステップS706のウェブメールセッション処理において通信許可となったと判断した場合には(ステップS707でYes)、CPU201は、ステップS709に処理を進める。
ステップS709では、CPU201は、ステップS704で送信許可とされた接続リクエストをウェブサーバに対して送信する。
ステップS710では、CPU201は、ウェブサーバから応答を受信したか否かを判断する。そして、ウェブサーバから応答を受信していないと判断した場合には(ステップS710でNo)、ウェブサーバから応答を受信するまで待機する。一方、ウェブサーバから応答を受信したと判断した場合には(ステップS710でYes)、ステップS711に処理を進める。
ステップS711では、CPU201は、ステップS709でウェブサーバに対して送信した接続リクエストが、過去の別セッションにおいて下書き保存されたウェブメールに対する編集再開の要求(即ち、下書きの再開要求)であるか否かを判断する。なお、このステップS711の判断は、当該接続リクエストに係る接続先のウェブサーバのURLが、図20に示す下書き再開操作詳細テーブル2200のURL2202に登録されており、且つ、当該接続リクエストに係るクエリー部に、図20に示す下書き再開操作詳細テーブル2200のクエリー2203に指定されるパラメータ(パラメータ名と値)が含まれているか否かを確認することで行う。
接続リクエストが下書きの再開要求である場合には(ステップS711でYes)、CPU201は、ステップS712に処理を進める。
一方、当該接続リクエストに係る接続先のウェブサーバのURLが図20に示す下書き再開操作詳細テーブル2200のURL2202に登録されていない場合や、或いは登録されていても当該接続リクエストに係るクエリー部にクエリー2203に指定されるパラメータが含まれていない場合には、当該接続リクエストが下書きの再開要求でないと判断し(ステップS711でNo)、CPU201は、ステップS715に処理を進める。ここで、下書き再開操作詳細テーブル2200について説明する。
図20は、下書き再開操作詳細テーブル2200の一例を示す図である。
この下書き再開操作詳細テーブル2200は、予め、管理者等によりウェブメールサービスDB102に登録されるものである。このテーブルの目的は、下書き保存されたウェブメールをオープン、編集してメールが送信された場合にも、下書き保存時に添付された添付ファイルの情報を含めて送信制御を行うことである。
一般に、添付ファイルを含むウェブメールを下書き保存して、後日、その下書きをオープンし、本文のみ編集してウェブメールを送信した場合、添付ファイルについてはファイル名のみが送信され、添付ファイルのデータが再度送信されることはない。また、下書き保存を行ったセッションと、下書き保存したウェブメールを開いて編集し、ウェブメールの送信を行ったセッションとは、異なるセッションである。そのため、例えば、添付ファイルを含めたウェブメールのメッセージ全体のサイズを条件とした送信制御や、添付ファイルに含まれるキーワードと当該ウェブメールの宛先との組み合わせを条件とした送信制御を、下書き保存したウェブメールの編集によって作成されたウェブメールに対しても正しく機能させるためには、下書き保存時のセッションと、下書き保存をオープンしたセッションとを対応付けて、2つのセッションで送信されたウェブメールデータを統合する必要がある。
以下に、この再開操作詳細テーブル2200の詳細について説明する。
サービスID2201は、ウェブメールサービスを一意に識別するIDであり、図11のサービスID1701と関連付けられている。
URL2202とクエリー2203は、サービスID2201で指定されるウェブメールサービスにおける下書き保存したウェブメールのオープン操作を特定するための条件である。
受信データ情報2204は、下書き保存したウェブメールのオープン操作の結果、ウェブメールシステム107が送信するウェブメール編集画面に設定される各種のウェブメールデータの変数名を登録する。
以下に、受信データ情報2204の詳細について説明する。
FROM2205には、送信者となるアドレスが設定される変数名が登録される。TO2206には、宛先となるアドレスが設定される変数名が登録される。CC2207には、同報先となるアドレスが設定される変数名が登録される。BCC2208には、BCCとなるアドレスが設定される変数名が登録される。標題2209には、標題が設定される変数名が登録される。本文2210には、本文が設定される変数名が登録される。以上が、図20に示す下書き再開操作詳細テーブル2200の説明である。
以下、図18のフローチャートの説明に戻る。
ステップS712では、CPU201は、接続リクエストのあったウェブメールサービスについて、通信制御をセッション単位で行うか否かを判断する。なお、このステップS712では、図19に示すセッション識別テーブル2000(サービスID2001)に、接続リクエストがあったウェブサービスについての情報(下書き再開操作詳細テーブル2200のサービスID2201)が登録されている場合に、通信制御をセッション単位で行うと判断される。通信制御をセッション単位で行うと判断した場合には(ステップS712でYes)、CPU201は、ステップS713に処理を進める。一方、通信制御をセッション単位で行わないと判断した場合(即ち、通信制御をリクエスト単位でのみ行うと判断した場合)には(ステップS712でNo)、CPU201は、ステップS715に処理を進める。
ステップS713では、CPU201は、下書き保存を行ったセッションにおいて送信されたウェブメールデータと、下書き保存されたウェブメールを開いて開始されるセッションで送信されるウェブメールデータとを統合して送信制御を行えるようにするため、下書き保存を行ったセッションと新たに再開したセッションとを対応づける処理を行う。なお、このウェブメールセッション対応付け処理の詳細は、図27を用いて後述する。
次に、ステップS714において、CPU201は、ステップS713のウェブメールセッション対応付け処理(図27)において通信許可となったか否かを判断する。
そして、ステップS713のウェブメールセッション対応付け処理において通信不許可となったと判断した場合には(ステップS714でNo)、CPU201は、不許可応答を、接続リクエストを送信したクライアントPC103に対して送信し(ステップS708)、本フローチャートの処理を終了する。
一方、ステップS714において、ステップS713のウェブメールセッション対応付け処理で通信許可となったと判断した場合には(ステップS714でYes)、CPU201は、ステップS715に処理を進める。
ステップS715では、CPU201は、ステップS710で受信したウェブサーバからの応答を、接続リクエストを送信したクライアントPC103に対して送信し、本フローチャートの処理を終了する。以上が、図6のステップS405のウェブメール送信制御処理の詳細な説明である。
以下、図21を参照して、図18のステップS703に示したウェブメール規制ルールの適用処理について詳細に説明する。
図21は、図18のステップS703に示したウェブメール規制ルールの適用処理における詳細な処理の一例を示すフローチャートである。即ち、本処理は、プロキシサーバ101のCPU201によって行われる。なお、本処理を行う際に、CPU201は、ウェブメール通信特定手段303、ウェブメール通信中継制御手段304としてプロキシサーバ101を機能させるためのプログラムをHDD204からRAM202にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
CPU201は、図12に示すウェブメールサービス詳細情報テーブル1800に従って、クライアントPC103から送信された接続リクエスト中に含まれる送信者、宛先、CC、BCC、標題、本文、添付といった情報を取得する。そして、その取得処理が終了した後、CPU201は、まだ適用していないウェブメール規制ルールがあるか否かを判断する(ステップS801)。
まだ適用していないウェブメール規制ルールがあると判断した場合には(ステップS801でYes)、CPU201は、図17に示すウェブメール規制ルールテーブル1900に登録されている、まだ未適用のウェブメール規制ルール情報を優先度に基づく順位に従って取得する(ステップS802)。
そして、CPU201は、ステップS802で取得したウェブメール規制ルール情報が本文用であるか否かを判断する(ステップS803)。ステップS802で取得したウェブメール規制ルール情報が本文用であった場合には(ステップS803でYes(本文))、CPU201は、ステップS804に処理を進める。
ステップS804では、CPU201は、接続リクエスト中に含まれる送信データに本文データが含まれるか(接続リクエストの要求先であるウェブサーバのURLで示されるデータ種別がウェブメールサービス詳細情報テーブル1800の種別1803で「本文」若しくは「本文&添付」であるか)否かを判断する。
そして、接続リクエスト中に含まれる送信データに本文データが含まれない(接続リクエストの要求先であるウェブサーバのURLで示されるデータ種別がウェブメールサービス詳細情報テーブル1800の種別1803で「本文」若しくは「本文&添付」でない)と判断した場合には(ステップS804でNo)、CPU201は、ステップS801に処理を戻す。
一方、接続リクエスト中に含まれる送信データに本文データが含まれる(接続リクエストの要求先であるウェブサーバのURLで示されるデータ種別がウェブメールサービス詳細情報テーブル1800の種別1803で「本文」若しくは「本文&添付」である)と判断した場合には(ステップS804でYes)、CPU201は、ステップS806に処理を進める。
また、ステップS803において、ステップS802で取得したウェブメール規制ルール情報が本文用でない(即ち、添付用である)と判断した場合には(ステップS803でNo(添付))、CPU201は、ステップS805に処理を進める。
ステップS805では、CPU201は、接続リクエスト中に含まれる送信データに添付データが含まれるか(接続リクエストの要求先であるウェブサーバのURLで示されるデータ種別がウェブメールサービス詳細情報テーブル1800の種別1803で「添付」若しくは「本文&添付」であるか)否かを判断する。
そして、接続リクエスト中に含まれる送信データに添付データが含まれない(接続リクエストの要求先であるウェブサーバのURLで示されるデータ種別がウェブメールサービス詳細情報テーブル1800の種別1803で「添付」若しくは「本文&添付」でない)と判断した場合には、CPU201は、ステップS801に処理を戻す。
一方、接続リクエスト中に含まれる送信データに添付データが含まれる(接続リクエストの要求先であるウェブサーバのURLで示されるデータ種別がウェブメールサービス詳細情報テーブル1800の種別1803で「添付」若しくは「本文&添付」である)と判断した場合には、CPU201は、ステップS806に処理を進める。
ステップS806では、CPU201は、当該接続リクエストに含まれる送信者、宛先、CC、BCC、標題、本文、添付等の送信データがステップS802で取得したウェブメール規制ルールの条件に合致(マッチ)するか否かを判断する。
そして、ウェブメール規制ルールの条件に合致(マッチ)すると判断した場合には(ステップS806でYes)、CPU201は、当該ウェブメール規制ルールの動作(許可/不許可)として示されている制御を行う(ステップS807)。そして、本フローチャートの処理を終了する。なお、添付ファイルが圧縮データであった場合には、そのデータを解凍し、解凍後のデータを当該ウェブメール規制ルールに適用させることにより、送信制御を行うことになる。
一方、ウェブメール規制ルールの条件に合致(マッチ)しないと判断した場合には(ステップS806でNo)、CPU201は、ステップS801に処理を戻す。
また、ステップS801で、まだ適用していないウェブメール規制ルールがないと判断した場合には(ステップS801でNo)、CPU201は、予めウェブメールサービスDB102に設定されているデフォルト(全てのウェブメール規制ルールに適合しなかった場合の)動作(許可/不許可)の制御を行う(ステップS808)。そして、本フローチャートの処理を終了する。以上が、図18のステップS703のウェブメール規制ルール適用処理の詳細な説明である。
以下、図22を参照して、図18のステップS706に示したウェブメールセッション処理について詳細に説明する。
図22は、図18のステップS706に示したウェブメールセッション処理における詳細な処理の一例を示すフローチャートである。即ち、本処理は、プロキシサーバ101のCPU201によって行われる。なお、本処理を行う際に、CPU201は、ウェブメール通信中継制御手段304としてプロキシサーバ101を機能させるためのプログラムをHDD204からRAM202にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
プロキシサーバ101のCPU201は、まず、接続リクエストの要求先であるウェブサーバのURL情報と図19に示すセッション識別テーブル2000内の情報とに基づいて、ウェブメールのセッションを特定する(ステップS901)。詳細には、CPU201は、まず、接続リクエストの要求先であるウェブサーバのURLから図12に示すウェブメールサービス詳細情報テーブル1800を用いてサービスIDを特定し、当該特定したサービスIDに対応するセッション識別テーブル2000のサービスIDにおけるレコード(セッション識別子2002、送信操作2003、下書き保存操作2004)を取得する。そして、CPU201は、取得したセッション識別子2002に基づいて、接続リクエストの送信データからセッション識別子2002に対応する情報を取得し、セッションを特定する。さらに、CPU201は、取得した送信操作2003、下書き保存操作2004に基づいて、接続リクエストの送信データに送信操作または下書き保存操作に対応する情報が含まれているか否かについて検出を行う。
次に、CPU201は、図23に示すセッション管理テーブル2100の更新を行う(ステップS902)。詳細には、CPU201は、ステップS901で特定したウェブメールのセッションと同一のセッション(同一のセッション識別子)のデータが既にセッション管理テーブル2100に登録されている場合には、そのレコードの項目を更新する処理を行う。一方、ステップS901で特定したウェブメールのセッションと同一のセッションのレコードがセッション管理テーブル2100に存在しない場合には、セッション管理テーブル2100に新たにレコードを追加して、各項目のデータを追加することになる。ここで、セッション管理テーブル2100について説明する。
図23は、セッション管理テーブル2100の一例を示す図である。
図23のセッション管理テーブル2100では、複数のリクエストで送信される同一セッションのウェブメールのデータを1レコードとして登録している。このセッション管理テーブル2100を作成する目的としては、複数のリクエスト(トランザクション)からなるウェブメールに対しても、通常のメール(SMTP)と同様の送信制御を行うためである。ただし、個々のリクエストに含まれるデータについては、ウェブメールシステム107に送信されることになる。この処理では、ウェブメールシステム107から他のメールサーバへの送信制御を行うことになる。
図23に示すセッション管理テーブル2100において、サービスID2101は、ウェブメールサービスの種類を一意に示すIDであって、図11のサービスID1701に関連付けられている。セッション識別子2102は、ウェブメールのセッションを特定するものである。
状態2103は、各セッションの状態を表すものであり、本実施形態では、「作成中」、「下書き保存」、「送信」のいずれかの状態を持つものとなる。具体的に、接続リクエスト中の送信データに、セッション識別テーブル2000の送信操作2003に該当するデータが含まれている場合、CPU201は、その接続リクエストがウェブメールの送信指示を行っていると判断し、状態2103を「送信」にする。同様に、接続リクエスト中の送信データに、セッション識別テーブル2000の下書き保存操作2004に該当するデータが含まれている場合、CPU201は、その接続リクエストが作成中のウェブメールの下書き保存指示を行っていると判断し、状態2103を「下書き保存」にする。それ以外の場合、状態2103は「作成中」となる。
その他、入力内容として、FROM情報2104、TO情報2105、CC情報2106、BCC情報2107、標題情報2108、本文情報2109、添付ファイル情報2110が登録されている。これらの入力内容の情報は、接続リクエスト中の送信データに含まれる情報を、前述のウェブメールサービス詳細情報テーブル1800に従って取得することで設定される。
また、ユーザ情報として、接続リクエストを要求してきたクライアントPCのIPアドレス情報2111と、(LDAPサーバ104に登録されている)認証名情報2112が登録されている。なお、LDAPサーバ104には、認証名情報で示されるユーザのメールアドレス情報が設定されているので、送信者アドレスに基づく制御も可能になる。以上が、図23に示すセッション管理テーブルの説明である。
以下、図22のフローチャートの説明に戻る。
ステップS903において、CPU201は、ステップS902において更新されたセッション管理テーブル2100のレコードの状態2103が「送信」であるか否かを判断する。更新されたセッション管理テーブル2100のレコードの状態2103が「送信」でない(「送信」以外である)場合には(ステップS903でNo)、CPU201は、そのウェブメールの送信指示は行われていないと判断し、ステップS905に処理を進める。
ステップS905では、CPU201は、接続リクエストの通信を許可し、本フローチャートの処理を終了する。
一方、ステップS903において、ステップS902において更新されたセッション管理テーブル2100のレコードの状態2103が「送信」である場合には(ステップS903でYes)、CPU201は、そのウェブメールの送信指示が行われている(メール送信操作)と判断し、ステップS904に処理を進める。
ステップS904では、CPU201は、メール規制ルール(通常の電子メール(SMTP)に適用されるルール)の適用処理を行い(詳細は、図26で後述する)、本フローチャートの処理を終了する。なお、上記通常の電子メール(SMTP)に適用されるルールは、図24に示すようなメール規制ルール設定画面2300、及び、図25に示すようなメール規制ルール詳細設定画面2400を用いて管理者等から予め入力された情報に基づいて、CPU201が、ウェブメールサービスDB102に登録して設定するものである。ここで、メール規制ルール設定画面2300、及び、メール規制ルール詳細設定画面2400について説明する。
図24は、メール規制ルール設定画面2300の一例を示す図である。
図24において、2301は条件ID表示欄であって、当該メール規制ルール中の詳細設定を一意に示すIDが表示される。
2302は優先度表示欄であって、当該詳細ルールの適用の優先度が表示される。本実施形態においては、各詳細ルールは異なる優先度を持つものとする。2303は名称表示欄であって、詳細ルールの名称として設定された文字列が表示される。2304はコメント表示欄であって、当該詳細ルールに設定されているコメントが表示される。
図24に示す2305〜2309に示す各条件式表示欄では、ウェブメールシステム107からの電子メールの送信を許可又は不許可とするための送信制御条件を設定するための表示欄である。
2305は送信者条件式表示欄であって、電子メールの送信者を詳細ルールに設定している場合には、この欄にその条件式が表示されることになる。2306は宛先条件式表示欄であって、宛先(同報先(CC)、BCCを含む)を詳細ルールに設定している場合には、この欄にその条件式が表示されることになる。
2307は数値条件式表示欄であって、メッセージのサイズや、宛先として指定されたアドレスの個数に基づいて、送信制御を行うための条件である数値条件として設定された内容が表示される。図24の例では、条件ID表示欄2301の条件IDが2の場合、数値条件としてメッセージ全体のサイズが2Mバイト以上である場合に、この条件に合致すると判断されることになる。
2308はMIME条件表示欄であって、添付ファイルのファイルタイプの条件設定が表示される。2309はキーワード条件式表示欄であって、本文や標題、添付ファイル中に特定のキーワードがあった場合に、送信制御を行うための条件であるキーワード条件として設定された内容が表示される。図24の例では、条件ID表示欄2301の条件IDが1の場合、本文中または添付ファイルに、「グループ外秘」のキーワードが含まれている場合に、この条件に合致すると判断されることになる。
2310は動作表示欄であって、上述した条件式に合致した電子メールの送信を許可する/不許可とする設定が表示される。2311は運用状態表示欄であって、本番中/テスト中等の運用状態が表示される。
以上に示した詳細ルールは、編集ボタン2312を押下することで編集が可能であり、削除ボタン2313を押下することで削除することが可能である。
また、追加ボタン2314を押下すると、詳細ルールの設定の追加が可能になる。以上が、図24に示すメール規制ルール設定画面2300の説明である。
図25は、メール規制ルール詳細設定画面2400の一例を示す図である。メール規制ルールの詳細設定要求が行われた場合、当該要求を行ったクライアントPC103のディスプレイ装置には、図25に示すメール規制ルール詳細設定画面2400が表示されることになる。
図25において、2401は条件ID表示欄であって、詳細ルールを一意に示す詳細ルールID(条件ID)表示欄である。この条件IDは自動的に付与しても、ユーザの入力部からの入力指示に基づいて設定しても(同一メール規制ルール内での重複は許さない)構わない。
2402は優先度入力欄であって、当該詳細ルールの適用の優先度を示す数値の入力を受け付ける。本実施形態においては、上述したように、各詳細ルールは異なる優先度を持つものとする。なお、詳細ルールの電子メールに対する適用は優先度が高い順に行われ、条件に合致した詳細ルールがあった場合には、その詳細ルールで示す条件式に合致した場合の動作を行わせる。よって、条件に合致した詳細ルールよりも優先度の低い詳細ルールの適用は、基本的に行われない。
2403はメール規制ルール名称入力欄であって、この詳細ルールの名称の入力を受け付ける。2404はコメント入力欄であって、この詳細ルールについてのコメントの入力を受け付ける。
2405は送信者条件指定チェックボックス、2406は宛先条件指定チェックボックス、2407は数値条件指定チェックボックス、2408はMIME条件指定チェックボックス、2409はキーワード条件指定チェックボックスであって、これらチェックボックスのうち、チェックが入れられた(図中では■:チェックあり、□:チェックなしを示す)条件の設定が可能になる。
送信者条件指定チェックボックス2405または宛先条件指定チェックボックス2406がチェックされると、送信者アドレスまたは宛先アドレスを条件とした条件式を詳細ルールに設定することが可能となる。その際には、特定のアドレスを指定するか(アドレスラジオボタン2410を選択するか)若しくは特定のグループを指定するか(グループラジオボタン2411を選択するか)が選択可能である。そして、アドレスラジオボタン2410が選択された場合には、アドレス入力欄2412への入力が可能であり、グループラジオボタン2411が選択された場合には、グループ入力欄2413への入力が可能である。なお、本実施形態では、アドレス指定若しくはグループ指定のどちらかによる設定を行うことになっているが、双方を同時に設定させても勿論かまわない。
2414は合致条件指定コンボボックスである。そして、アドレスが指定された場合(アドレスラジオボタン2410が選択された場合)には、アドレス入力欄2412に入力されたアドレスが合致条件指定コンボボックス2414で選択された状態(例えば、「一致する」、「含む」、「含まない」等)に合致する場合に、ヒットとなる。また、グループが指定されている場合(グループラジオボタン2411が選択された場合)には、グループ入力欄2413に入力されたグループに含まれるアドレスが合致条件指定コンボボックス2414で選択された状態(例えば、「一致する」、「含む」、「含まない」等)に合致する場合に、ヒットとなる。この際、アドレス入力欄2412やグループ入力欄2413には、所定の区切り子で区切ることにより条件を複数入力することが可能である。また、図中には示していないが、参照ボタンを用意して、ユーザやグループの選択ダイアログを表示させ、そのダイアログを介しての選択で入力させてももちろん良い。また、グループについては、LDAPサーバ104で管理されているディレクトリ情報中のグループだけでなく、独自に設定した社外のアドレスを含むグループを作成することももちろん可能である。
宛先条件指定の場合には、宛先条件指定コンボボックス2415で「TO」、「CC」またはそれらの組み合わせを指定する。この場合、宛先条件指定コンボボックス2415で指定された宛先条件に、指定のアドレスがあった場合に条件にヒットするといった条件式を設定することになる。
数値条件指定チェックボックス2407がチェックされると、メッセージサイズやアドレス数を条件とした条件式を詳細ルールに設定することが可能である。その場合は、まず、メッセージのサイズを条件とするか(ラジオボタン2416を選択するか)若しくは宛先アドレス数を条件とするか(ラジオボタン2417を選択するか)が選択可能である。そして、ラジオボタン2416が選択された場合には、サイズ入力欄2418への入力が可能である。サイズ入力欄2418に指定したサイズが、合致条件指定コンボボックス2419で選択された状態(例えば、「以上」、「以下」等)に合致する場合に、ヒットとなる。本実施形態では、メッセージサイズによる条件指定を行うことになっているが、本文サイズや添付ファイルの合計サイズ等、メッセージの構成要素のサイズ及びその組み合わせに基づく条件であっても勿論かまわない。また、ラジオボタン2417が選択されている場合には、個数入力欄2421への入力が可能である。この場合は、まず、対象アドレス(例えば、「TO」、「CC」またはそれらの組み合わせ)の条件を、対象アドレス指定コンボボックス2420で選択する。そして、個数入力欄2421に個数を入力する。対象アドレス指定コンボボックス2420で選択されたアドレス数の合計が、個数入力欄2421で指定した個数に対して合致条件指定コンボボックス2422で選択された状態(例えば、「以上」、「以下」等)に合致する場合に、ヒットとなる。
MIME条件設定チェックボックス2408がチェックされると、条件セットコンボボックス2423でファイルタイプを選択することが可能となる。この際、MIME条件は、Content−Typeと拡張子の組合せによってファイルタイプを指定する(例えば、マイクロソフト社のWordファイルに対する条件は、Content−Typeがapplication/msword、拡張子が.doc)。電子メールに添付された添付ファイル(例えば、添付ファイルの拡張子)が、MIME条件で設定されているファイル(例えば、ファイルの拡張子)であった場合に、ヒットとなる。
キーワード条件指定チェックボックス2409がチェックされると、キーワードを条件とした条件式を詳細ルールに設定することが可能である。この場合は、まず、特定キーワードがメールのどの部分(例えば、標題、本文、添付ファイル、全て等)にあるかの条件を、キーワード箇所指定コンボボックス2424で選択する。そして、キーワード条件をキーワード入力欄2425に入力する。キーワード入力欄2425には、複数のキーワードを入力することが可能であり、またそれらの結合条件(AND条件:例えば「&」で設定、OR条件:例えば「|」で設定、結合優先度設定:例えば括弧「()」で設定)の設定も可能である。
そして、動作表示欄において、上記条件に合致した場合に(送信者条件、宛先条件、数値条件、MIME条件、キーワード条件をAND条件で結合)、電子メールに対しての送信を許可する(許可ラジオボタン2426)、或いは、許可しない(不許可ラジオボタン2427)を設定する。この際、動作表示欄において、送信者条件、宛先条件、数値条件、MIME条件、キーワード条件の結合方法を入力するための領域を設定して、その領域に結合条件を入力し、その結合条件を満たした場合に送信を許可する/不許可とするといった設定を用いても勿論かまわない。
そしてOKボタン2428が押下された場合、上記設定した詳細ルールの登録要求を行うことになる。以上が、図25に示すメール規制ルール詳細設定画面2400の説明である。
以下、図26を参照して、図22のステップS904に示したメール規制ルール適用処理を詳細に説明する。
図26は、図22のステップS904に示したメール規制ルール適用処理における詳細な処理の一例を示すフローチャートである。即ち、本処理は、プロキシサーバ101のCPU201によって行われる。なお、本処理を行う際に、CPU201は、ウェブメール通信中継制御手段304としてプロキシサーバ101を機能させるためのプログラムをHDD204からRAM202にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
プロキシサーバ101のCPU201は、まず、図22のステップS902で更新した図23に示すセッション管理テーブル2100のレコードのデータ(即ち、メール送信操作が行われたと判断されたセッションのウェブメールの全ての通信データ)を当該セッション管理テーブル2100から取得し、当該取得したレコードのデータに基づいて、ウェブメールシステム107を介して送信しようとしている電子メールメッセージデータを生成する(ステップS1001)。
次に、CPU201は、送信制御の対象となる電子メールメッセージデータに対して、まだ適用していないメール規制ルールがあるか否かを判断する(ステップS1002)。ここでいうメール規制ルールは、上述したように、ウェブメール規制ルールとは異なり、通常のSMTPを用いた電子メール送信を規制制御するためのルールである。例えば、送信者、宛先、宛先数、本文や標題中のキーワード、電子メール全体のサイズや添付ファイルのサイズ、また、添付ファイルがある場合には特定のメールアドレスがCCに入っているなどの条件等に合致しているか否か、或いは、それらの組み合わせ条件に合致しているか否かによって送信制御を行えるルールである(図24、図25)。
そして、まだ適用していないメール規制ルールがあると判断した場合には(ステップS1002でYes)、CPU201は、優先度に基づく順位に従って、まだ未適用のメール規制ルール情報を取得し(ステップS1003)、ステップS1004に処理を進める。
ステップS1004において、CPU201は、ステップS1003で取得したメール規制ルール情報に、データサイズに関する条件を含むか否かを判断する。そして、データサイズに関する条件が含まれていると判断した場合には(ステップS1004でYes)、ステップS1005に処理を進める。一方、データサイズに関する条件が含まれていないと判断した場合には(ステップS1004でNo)、ステップS1006に処理を進める。
ステップS1005において、CPU201は、ステップS1004の処理で検出されたデータサイズに関する条件で必要となるデータサイズを計算して算出する。例えば、電子メール全体のサイズが必要な場合は、ステップS1001で生成した電子メールメッセージデータのデータサイズを計算して算出する。また、添付ファイルの合計サイズが必要な場合は、ステップS1001で取得したセッション管理テーブル2100のレコードのデータから、各添付ファイルのデータサイズを計算し、合計サイズを算出する。
そして、ステップS1006では、CPU201は、ステップS1001で生成した、送信しようとしている電子メールメッセージデータが、ステップS1003で取得したメール規制ルール情報の条件に合致(マッチ)しているか否かを判断する。なお、この判断の際、ステップS1003で取得したメール規制ルール情報にFROM(メール送信者アドレスに対する規制)等があり、送信元のユーザのメールアドレス等が必要な場合には、当該プロキシサーバ101のCPU201は、送信元のユーザのIPアドレスや認証情報(ユーザ名)等を用いて、LDAPサーバ104から送信元のメールアドレス等の判断に必要な情報を取得するものとする。
そして、送信しようとしている電子メールメッセージデータがステップS1003で取得したメール規制ルール情報の条件に合致(マッチ)していると判断した場合には(ステップS1006でYes)、CPU201は、そのメール規制ルールに合致した場合の動作として指定されている処理(送信の許可/拒否(不許可))を行い(ステップS1007)、本フローチャートの処理を終了する。
一方、ステップS1006において、送信しようとしている電子メールメッセージデータがステップS1003で取得したメール規制ルール情報の条件に合致(マッチ)していないと判断した場合には(ステップS1006でNo)、CPU201は、ステップS1002に処理を戻す。
また、ステップS1002において、送信制御の対象となる電子メールメッセージデータに対して、適用していないメール規制ルールがないと判断した場合には(ステップS1002でNo)、CPU201は、全てのメール規制ルールに合致しなかった場合の動作として設定されているデフォルト動作(送信の許可/拒否(不許可))を行い(ステップS1008)、本フローチャートの処理を終了する。以上が、図22のステップS904のメール規制ルールの適用処理の詳細である。
以下、図27を参照して、図18のステップS713に示したウェブメールセッション対応付け処理について詳細に説明する。
図27は、図18のステップS713に示したウェブメールセッション対応付け処理における詳細な処理の一例を示すフローチャートである。即ち、本処理は、プロキシサーバ101のCPU201によって行われる。なお、本処理を行う際に、CPU201は、ウェブメール通信中継制御手段304としてプロキシサーバ101を機能させるためのプログラムをHDD204からRAM202にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
プロキシサーバ101のCPU201は、まず、図18のステップS710で受信したウェブサーバからの応答(ウェブメール本文の編集画面)を解析し、下書き再開操作によって開始されるセッションのセッション識別子と、下書き保存されていたメール本文データを取得する(ステップS1101)。ここで、応答の解析は、図18のステップS711で接続リクエストが下書きの再開要求であると判断した際に使用した、下書き再開操作詳細テーブル2200のレコードを使用する。即ち、下書き再開操作詳細テーブル2200のサービスID2201に対応するセッション識別テーブル2000のサービスID2001におけるセッション識別子2002の情報に基づいて、セッション識別子を特定する。そして、下書き再開操作詳細テーブル2200の受信データ情報2204の情報に基づいて、下書き保存されていたメール本文データを特定し取得する。
次に、CPU201は、図23に示すセッション管理テーブル2100を検索し、下書き再開操作によって開始した処理中のセッションに対応する、下書き保存を行った過去のセッションを特定する(ステップS1102)。ここで、対応するセッションの特定は、サービスID2101が一致し、状態2103が「下書き保存」であり、且つ、入力内容であるFROM情報2104、TO情報2105、CC情報2106、BCC情報2107、標題情報2108及び本文情報2109が、ステップS1101で取得した、再開された下書きメールの内容と一致するという条件を満たすレコードを検索することで行う。
次に、ステップS1103において、CPU201は、ステップS1102で対応する下書き保存のセッションの特定に成功したか否かを判断する。ステップS1102で対応する下書き保存のセッションが一意に特定された場合には、CPU201は、下書き保存のセッションの特定に成功したと判断(ステップS1103でYesと判断)し、ステップS1104に処理を進める。一方、対応する下書き保存のセッションが存在しない場合や、対応する下書き保存のセッションが複数検出された場合には、CPU201は、下書き保存のセッションの特定に失敗したと判断(ステップS1103でNoと判断)し、ステップS1105に処理を進める。
ステップS1104では、CPU201は、ステップS1103の処理結果に基づいて、図23に示すセッション管理テーブル2100の更新を行い、本フローチャートの処理を終了する。
以下に、ステップS1104の更新処理の詳細について説明する。
まず、図18のステップS711で接続リクエストが下書きの再開要求であると判断した際に使用した下書き再開操作詳細テーブル2200のサービスID2201と、ステップS1101で取得したセッション識別子とを持つレコードを、セッション管理テーブル2100に追加する。次に、追加したレコードの状態2103を「作成中」とし、ステップS1103で特定した下書き保存セッションの入力内容を、追加したレコードの入力内容にコピーする。さらに、追加したレコードのユーザ情報には、接続リクエストを要求してきたクライアントPC103のIPアドレスと認証名を登録する。この更新処理により、下書きの再開により開始したセッションについても、新規に作成開始したセッションと同様に以降の処理で扱うことが可能となり、下書き時に送信した添付ファイル等のデータを含めて送信制御の判定を行うことが可能となる。
また、ステップS1105では、CPU201は、ステップS1103において下書き保存のセッションの特定に失敗した場合の動作として予め設定されている処理を行い、本フローチャートの処理を終了する。この際、設定可能な処理としては、例えば、処理中のセッションの全通信の許可/拒否(不許可)や、処理の続行(対応する下書き保存のセッションにおいて送信されたメールデータは無視して、下書き保存を再開したセッション中に送信されたメールデータのみに基づいて送信制御を行う)等である。
以上が、図18のステップS713に示したウェブメールセッション対応付け処理の詳細な説明である。
以上説明したように、本実施形態に係るプロキシサーバ(情報処理装置)101では、以下の処理を行うようにしている。
プロキシサーバ101は、図1に示すように、ウェブメール(HTTPを用いた電子メール)の送受信を行うサービスを提供するウェブメールシステム107などのメールサーバ装置と、当該サービスを利用するクライアント装置であるクライアントPC103との間の通信を中継するように構成されている。
まず、プロキシサーバ101のCPU201は、メールサーバ装置からの電子メールの送信を許可又は不許可とするための条件であって当該電子メールのデータサイズに関する条件を含む送信制御条件(図24の2305〜2309、図25の2405〜2409)を設定するようにしている(図18のS706における図22のS904)。ここで、電子メールの送信を許可又は不許可とする設定は、図25において許可ラジオボタン2426が選択されているか、不許可ラジオボタン2427が選択されているかに応じて行われる。
また、プロキシサーバ101のCPU201は、クライアントPC103から複数のトランザクション(リクエスト)で送信される電子メールの各メールデータを、それぞれ、当該送信で用いるセッションのセッション識別子と関連付けて記憶媒体(例えばウェブメールサービスDB102)に記録するようにしている(図23、図18のS706における図22のS901、S902)。
また、プロキシサーバ101のCPU201は、クライアントPC103からウェブメールシステム107に対する電子メールの送信指示がなされた際に、前記記憶媒体にセッション識別子と関連付けられて記録されている各メールデータ(図23)を用いて、当該電子メールのデータサイズを算出するようにしている(図18のS706における図22のS904を介した図26のS1005)。
また、プロキシサーバ101のCPU201は、図26のステップS1005で算出した電子メールのデータサイズが前記送信制御条件を満たす場合、当該電子メールの送信を許可又は不許可とする制御を行うようにしている(図18のS706、S707)。
また、プロキシサーバ101のCPU201は、上述した図22のステップS904において電子メールの送信を不許可とするための送信制御条件の設定を行った場合には、図26のステップS1005で算出した電子メールのデータサイズが当該送信制御条件を満たす場合、当該送信指示を行ったクライアントPC103に対して、当該送信指示に係る電子メールの送信を不許可とする旨の通知を行うようにしている(図26のS1007に基づく図18のS707を介したS708)。
また、プロキシサーバ101のCPU201は、上述した図22のステップS904において電子メールの送信を許可とするための送信制御条件の設定を行った場合には、図26のステップS1005で算出した電子メールのデータサイズが当該送信制御条件を満たす場合、ウェブサーバであるウェブメールシステム107に対して、当該送信指示に係る電子メールの送信を許可する制御を行うようにしている(図26のS1007に基づく図18のS707を介したS709)。
一方、プロキシサーバ101のCPU201は、図26のステップS1005で算出した電子メールのデータサイズが前記送信制御条件を満たさなかった場合、予め設定されているデフォルト動作に基づいて、前記送信指示に係る電子メールの送信を許可又は不許可とする制御を行うようにしている(図26のS1008)。
また、プロキシサーバ101のCPU201は、クライアントPC103からウェブメールシステム107に対する、一時保存に係る電子メールの再開指示がなされた際に、当該再開指示された電子メールに係るメールデータを、前記記憶媒体に記録されている電子メールのメールデータの中から特定するようにしている(図18のS713における図27のS1101、S1102)。
その後、プロキシサーバ101のCPU201は、図18のステップS701に処理を戻し、クライアントPC103からウェブメールシステム107に対する、前記再開指示に係る電子メールの送信指示(新たな接続リクエスト)がなされると、ステップS701においてこれを受け付ける。そして、プロキシサーバ101のCPU201は、図18のステップS706(図22のS904を介した図26のS1005)において、前回の接続リクエストにおいて前記特定された各メールデータと、当該再開指示された電子メールのメールデータとを用いて、当該送信指示された電子メールのデータサイズを算出するようにしている。
また、プロキシサーバ101のCPU201は、前記記憶媒体にセッション識別子と関連付けられて記録されている各メールデータを用いて、ウェブメールシステム107に送信する送信指示に係る電子メールを生成するようにしている(図26のS1001)。
本実施形態によれば、クライアント装置からHTTPプロトコルで送信される電子メール(ウェブメール)の送信であっても、通常のSMTPプロトコルで送信される電子メールと同様に、宛先(TO)、CC等の意味をもった情報に基づいて電子メールのデータの送信制御を行うことが可能になる。また、複数のリクエスト(トランザクション)からなるウェブメールに対してもセッションを特定し、同一メッセージを構成するデータを集積することによって、通常のSMTPの電子メールと同様の処理を行うことが可能になる。
特に、本実施形態によれば、ウェブメールを一時保存(下書き保存)した後に当該ウェブメールの作成を再開して送信する場合においても、送信指示されるウェブメールの送信の可否を判定することが可能となる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、本発明の一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、1つの機器からなる装置に適用しても良い。
以下、図28に示すメモリマップを参照して、本発明の実施形態に係るプロキシサーバ(情報処理装置)101で読み取り可能なデータ処理プログラムの構成について説明する。
図28は、本発明の実施形態に係るプロキシサーバ(情報処理装置)101で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップの一例を示す図である。この図28に示すメモリマップは、例えば、HDD204に構成される。
図28に示す記録媒体(記憶媒体)には、ディレクトリ情報に加えて、図6に示すフローチャートのステップに対応するプログラムコード群(第1の処理プログラム)と、図7に示すフローチャートのステップに対応するプログラムコード群(第2の処理プログラム)と、図13に示すフローチャートのステップに対応するプログラムコード群(第3の処理プログラム)と、図18に示すフローチャートのステップに対応するプログラムコード群(第4の処理プログラム)と、図21に示すフローチャートのステップに対応するプログラムコード群(第5の処理プログラム)と、図22に示すフローチャートのステップに対応するプログラムコード群(第6の処理プログラム)と、図26に示すフローチャートのステップに対応するプログラムコード群(第7の処理プログラム)と、図27に示すフローチャートのステップに対応するプログラムコード群(第8の処理プログラム)が記憶されている。
なお、図28には、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報や作成者等も記憶され、且つ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリ情報に管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
なお、本実施形態における図6、図7、図13、図18、図21、図22,図26及び図27に示すフローチャートを実行する機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROM、フラッシュメモリやFD等の記録媒体により、或いはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給する場合でも、本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は、本発明を構成することになる。
また、プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した本実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した本実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した本実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システム或いは装置に読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
なお、上述した本実施形態、及び、その変形例を組み合わせた構成も、全て本発明に含まれるものである。