以下、図面を参照して、本発明の実施の形態の一例について説明する。図1は、本発明の情報処理システムのシステム構成図の一例を示す図である。図1に示すように、本発明の情報処理システムは、プロキシサーバ101、メールサーバ102、クライアント装置103−1〜103−3(以下、まとめてクライアント装置103とする)を備えている。また、上記の装置は、LAN(Local Area Network)104を介して相互に通信可能に接続されている。
また、メールサーバ102やクライアント装置103は、プロキシサーバ101を介して広域ネットワーク105に接続されている外部メールサーバ106−1、106−2と相互に通信可能に接続されている。
プロキシサーバ101は、本発明の情報処理装置として機能するサーバ装置であって、メールサーバ102やクライアント装置103から送信される電子メールデータに対する中継制御処理を、後述する中継制御ルールを用いて行うサーバ装置である。
また、プロキシサーバ101は、ウェブサーバの機能を有しており、その機能を用いて、クライアント装置103を操作するユーザからの要求に応じて、電子メールの中継制御処理に用いる中継制御ルールの入力を受け付けたり、中継制御処理の結果送信が保留された電子メールに対する送信、送信禁止の入力を受け付けたりする。
メールサーバ102は、電子メールの送受信を行うために用いられるサーバ装置であって、電子メールのメールアドレス管理や、当該メールアドレスに送信されてきた電子メールを保存する等の機能を持ったサーバ装置である。外部メールサーバ106−1、106−2も同様である。
クライアント装置103は、メールサーバ102で管理されているメールアドレスを使用するユーザが操作する端末装置である。
次に、図2を参照して、図1のプロキシサーバ101に適用可能な情報処理装置のハードウェア構成の一例について説明する。
図中、CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、プロキシサーバ101に後述する各種の処理を実行させるために必要な各種プログラムやデータ等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで後述する各種処理を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。ビデオコントローラ(VC)206は、ディスプレイ装置210等の表示装置への表示を制御する。ディスプレイ装置210は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が、プロキシサーバ101に適用可能な情報処理装置のハードウェア構成の説明であるが、後述する各種の処理を実行可能であれば、必ずしも図2に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
次に、図3を参照して、プロキシサーバ101のCPU201によって行われる処理の概要について説明する。プロキシサーバ101に図3に示す処理を実行させるためのプログラムは外部メモリ211等に記憶されており、プロキシサーバ101のCPU201は、当該プログラムによる制御に従って本処理を実行することになる。
プロキシサーバ101は、本処理の実行中に、新規に電子メールデータを受信したか(ステップS301)、中継可否を判定する電子メールデータがあるか(ステップS303)、保留メールに対する監査処理要求をクライアント装置103より受付けたか(ステップS305)の判定を常時行っている。
新規に電子メールデータを受信したと判定した場合には(ステップS301でYES)、中継制御メール保存処理を行う(ステップS302)。この中継制御メール保存処理の詳細については、図4を参照して後述することにする。
また、電子メールの中継可否を判定する電子メールデータがあると判定した場合には(ステップS303でYES)、メールデータの中継制御処理を行う(ステップS304)。このメールデータ中継制御処理の詳細については、図5を参照して後述することにする。
また、保留メールに対する監査要求を受け付けた場合には(ステップS305でYES)、保留メール監査処理を行う(ステップS306)。この保留メール監査処理の詳細については、図6を参照して後述することにする。以上が、プロキシサーバ101のCPU201によって行われる処理の概要の説明である。
次に、図4を参照して、図3のステップS302の中継制御メール保存処理の詳細について説明する。この処理は、電子メールが送信される際に、サイズが大きくなる場合には、あらかじめ設定したサイズに分割して送信する(以下、サイズ分割メールという)ことや、また、メールサーバ102によっては、宛先ごとのエンベロープをそれぞれ作成し、それぞれの宛先に対して電子メールを送信する(以下、宛先分割メールという)ことが行われているので、これら分割された電子メールを元の1つのメールに結合し(以下、結合された電子メールを結合メールという)、元のメールに対して送信制御を行えるようにするために行われる処理である。
まず、プロキシサーバ101は、受信したメールがサイズ分割メールであるかを判定する(ステップS401)。受信した電子メールのメールヘッダのContent−typeが、message/partialとなっている場合に、当該電子メールはサイズ分割メールであると判定することになる。
ステップS401の判定処理でYESと判定した場合、処理をステップS402に進め、サイズ分割メール保存部(不図示)に当該電子メールを保存する。そして、サイズ分割メールが全て揃ったかを判定する(ステップS403)。この判定は、メールヘッダのContent−typeに分割された数(total)と、そのうちの何番目の分割メールであるか(number)という情報が設定されているので、この情報に従い、全てのサイズ分割メールが揃ったかを判定することになる。
分割メールが全て揃ったと判定した場合には(ステップS403でYES)、分割メールを結合し、分割される前のメールデータである結合メールを作成し(ステップS404)、その後、処理をステップS405に進める。NOと判定した場合には、本処理を終了する。
ステップS401でNOと判定した場合、またはステップS404の処理終了後、当該電子メールの送信元となるメールサーバ102(IPアドレス)が宛先分割メールサーバDB1500に登録されているか否かを判定する(ステップS405)。
図15には、宛先分割メールサーバDB1500の構成が示されており、宛先分割メールサーバDB1500は、電子メールの送信元のメールサーバのIPアドレスを示すメールサーバIP1501と宛先分割された電子メールのうち、最初に受信した宛先分割メールの受信時間から、何れの期間に受信した他のそれぞれの宛先分割メールを結合するかを示す結合待機時間1502を備えている。
登録されていると判定した場合は、処理をステップS406に進め、登録されていないと判定した場合、処理をステップS414に進める。
次に、ステップS406では、外部メモリ211に記憶されている電子メールDB700に、受信した電子メールと同一のメッセージIDを持つ電子メールが保存されているかを判定する。このメッセージIDは、メールヘッダのMessege−idに設定されている情報を指す。
ここで、図7を参照して、プロキシサーバ101の外部メモリ211に記憶されている電子メールDB700のデータ構成について説明する。
図7に示すように、電子メールDB700は、メッセージID701、送信日時702、送信者(FROM)703、送信先704、件名705、本文706、添付707、結合708、分割サイズ709、制御結果710、送信元メールサーバ711、到着日時712、及び宛先結合フラグ713等のデータ項目を備えて構成されている。
メッセージID701は、電子メールの識別情報が登録されるデータ項目であり、メールヘッダのMessage−idに設定されている値が登録される。
送信日時702は、当該電子メールが送信された日時情報が登録される。例えば、メールヘッダのDateに設定されている値が登録される。
送信者703は、電子メールの送信者情報が登録されるデータ項目であり、電子メールのFROM情報として設定された電子メールアドレスが登録される。例えば電子メールのエンベロープに設定された送信者メールアドレスが登録される。
送信先704は、電子メールの送信先情報が登録されるデータ項目であり、電子メールの送信先(TO、CC、BCC)として設定された電子メールアドレスが登録される。
尚、TOに設定された電子メールアドレスはTO704−1に、CCに設定された電子メールアドレスはCC704−2、BCCに設定された電子メールアドレスは、BCC704−3に登録されることになる。この情報は電子メールのメールヘッダ及びエンベロープに従って登録されることになる。
件名705は、電子メールの件名情報が登録されるデータ項目であり、電子メールの件名(Subject)に設定された情報が登録される。例えば、メールヘッダのSubjectに設定された値が登録されることになる。
本文706は、電子メールの本文情報が登録されるデータ項目である。添付707は、電子メールに添付された添付ファイル情報が登録されるデータ項目である。
結合708は、当該メールデータが、サイズ分割メールが結合されたものであるかを示す情報が登録されるデータ項目である。例えば、サイズ分割メールの結合メールの場合には「○」がそれ以外の場合には「×」が登録される。尚、登録方法はこの方法に限られない。
分割サイズ709は、当該電子メールがサイズ分割メールの結合メールである場合に、サイズ分割メールの最大サイズ情報が登録されるデータ項目である。
制御結果710は、プロキシサーバ101による中継制御結果等が登録されるデータ項目である。
送信元メールサーバ711は、電子メールの送信元となるメールサーバのIPアドレスを示しており、到着日時712は、受信した電子メールの日時を示す。
宛先結合フラグ713は、電子メールを結合するか否かを示す情報を記憶するものであり、本実施形態では、クローズ済が記憶されていれば、その電子メールは結合対象であるとし、オープンが記憶されていれば、その電子メールは、結合対象ではないものと見做す。
以上がプロキシサーバ101の外部メモリ211に記憶されている電子メールDB700の説明である。
図4の説明に戻る。プロキシサーバ101は、受信した電子メール若しくはステップS404で作成した結合メールと同一のメッセージIDを有する電子メールデータが電子メールDB700に登録されているかを判定する(ステップS406)。
そして、同一のメッセージIDを有する電子メールデータが電子メールDB700に登録されていると判定した場合には(ステップS406でYES)、処理をステップS407に進める。
一方、同一のメッセージIDを有する電子メールデータが電子メールDB700に登録されていないと判定した場合には(ステップS406でNO)、処理をステップS409へ進める。
ステップS407では、当該電子メールデータの宛先結合フラグ713がクローズ済みであるか否かを判定し、クローズ済みであると判定した場合は、処理をステップS409へ進め、クローズ済みであると判定しない場合は、処理をステップS408へ進める。
ステップS408では、当該電子メールのエンベロープに設定されている送信先情報のうち、同一のメッセージIDの電子メールデータに設定されていない送信先を追加登録することで、エンベロープ情報の結合を行う。(電子メールDBの送信先704へ送信先情報を追加登録する。)
通常、エンベロープが個別に作成されてしまう場合には、エンベロープには電子メールの全ての宛先が設定されない。TOやCCについては電子メールデータのヘッダー情報にも設定されるので、その情報を用いることも可能だが、BCCについてはヘッダー情報に含まれないという問題がある。
また、宛先を特定するためにエンベロープとヘッダー情報の双方を確認するのでは、処理の効率が悪い。
そこで、本発明では、エンベロープが宛先ごとに設定されてしまう電子メールシステムの場合に、メールIDをもとに同一の電子メールを特定し、それらのエンベロープに設定されている宛先を統合することで、エンベロープが個別に作成されない電子メールシステムにおいて作成されるエンベロープを生成する。
これにより、宛先条件が送信制御ルールに設定されている場合に、その条件に合致しているかを判定するために用いる電子メールの宛先に関する情報をエンベロープのみから取得することが可能となる。
ステップS409では、同一のメッセージIDを有する電子メールデータが電子メール一時DB1400に登録されているか否かを判定し、登録されていると判定した場合は、処理をステップS410へ進め、登録されていると判定しない場合は、処理をステップS412へ進める。
図14には、最初に受信した電子メールに関しての情報を記憶する電子メール一時DB1400の構成が示されており、電子メール一時DB1400は、前述したように受信した電子メールを一意に識別するためのメッセージID1401、電子メールを受信した日時を示す到着日時1402を備えている。
ステップS410では、電子メール一時DB1400の電子メールデータの到着日時1402と受信した電子メールデータの到着日時との差から到着時間差を算出する。
ステップS411では、受信した電子メールの送信元のメールサーバ102に関して、算出した到着時間差によって宛先分割メールサーバDB1500に登録された結合待機時間1502を更新する。
尚、本ステップでは、既に結合待機時間1502に登録されている時間よりも算出した到着時間差のほうが大きい場合に更新をかけても良いし、送信元が同じとなるそれぞれのメッセージIDを有する電子メールに関しての到着時間差を所定回数算出しておき、その平均値を求めて、結合待機時間1502を更新しても良い。
ステップS412では、受信した電子メールデータのメッセージIDと到着日時を電子メール一時DB1400に登録する。
ステップS413では、受信した電子メールデータを電子メールDB700に保存する。このとき、宛先結合フラグ713をオープンとして保存を行う。
ステップS414では、同一のメッセージIDを有する電子メールデータが電子メール一時DB1400に登録されているか否かを判定し、登録されていると判定した場合は、処理をステップS415へ進め、登録されていると判定しない場合は、処理をステップS417へ進める。
ステップS415では、電子メール一時DB1400の電子メールデータの到着日時1402と受信した電子メールデータの到着日時との差から到着時間差を算出する。
ステップS416では、受信した電子メールデータの送信元のメールサーバ102に関して、算出した到着時間差を、宛先分割メールサーバDB1500の結合待機時間1502へ登録する。
ステップS417では、受信した電子メールデータのメッセージIDと到着日時を電子メール一時DB1400に登録する。
ステップS418では、受信した電子メールデータを電子メールDB700に保存する。このとき、宛先結合フラグ713をクローズ済として保存を行う。つまり、宛先分割を行わないメールサーバ102からの電子メールは、即時に、以降のメールデータ中継制御処理を行うことが可能となる。
以上が、図3のステップS302の中継制御メール保存処理の詳細である。
このような処理を行うことで、本発明ではクライアント装置103で動作するメールクライアントソフトによりサイズ分割された電子メールデータや、メールサーバ102で動作するメールサーバアプリケーションによって発生してしまう宛先分割された電子メールデータを元の電子メールに復元し、元のメールに基づいて中継制御を行うことが可能となる。
次に、図5を参照して、図3のステップS304のメールデータ中継制御処理の詳細について説明する。プロキシサーバ101のCPU201は、一定間隔で電子メールDB700をチェックし、制御結果710にデータが登録されていない(未だ、中継制御処理が行われていない)電子メールデータで、宛先結合フラグがクローズ済みのものがある場合に、図3のステップS303でYESと判定し、本処理を行うことになる。
まず、プロキシサーバ101は、中継制御対象の電子メールに未だ適用していない中継制御ルールがあるか否かを判定し(ステップS501)、未適用の中継制御ルールがあると判定した場合には(ステップS501でYES)、処理をステップS502に進め、優先度に従って未適用の中継制御ルールを取得することになる。
ここで、図9を参照して、プロキシサーバ101の外部メモリ211に記憶されている中継制御ルールDB900のデータ構成の一例について説明する。
図9に示すように、中継制御ルールDB900は、データ項目として、ルールID901、優先度902、ルール名称903、コメント904、条件905、動作906を備えている。
ルールID901は、中継制御ルールを一意に識別するための識別情報が登録されるデータ項目である。優先度902は、中継制御ルールを適用する優先順を示す優先度情報が登録されるデータ項目である。
ルール名称903は、中継制御ルールの名称が登録されるデータ項目である。コメント904は、中継制御ルールに関するコメントが登録されるデータ項目である。例えば、どのような趣旨で当該中継制御ルールが設けられているかを示す情報などが登録される。
条件905は、中継制御ルールを適用する電子メールの条件が設定されるデータ項目として、送信者条件905−1、宛先条件905−2、件名・本文条件905−3、添付ファイル条件905−4が設定されている。
送信者条件905−1は、電子メールの送信者条件が登録されるデータ項目であり、例えば、「*@example.co.jpである」、「*@example.co.jp以外」、などの条件が登録されることになる。
宛先条件905−2は、電子メールの宛先条件が登録されるデータ項目であり、例えば、「TO、CC、BCCに*@example.co.jp以外のアドレスが設定されている」、「TO、CCに設定されているアドレス件数がn件以上である」や、「n以上のドメインが含まれる」、「送信者の管理者のメールアドレスがCCに設定されていない」、などの条件が登録されることになる。
件名・本文条件905−3は、電子メールの件名や本文に設定されている文字列に関する条件が登録されるデータ項目であり、例えば、「件名が入力されていない」、「件名又は本文に、『機密、極秘、社外秘、関係者外秘』のいずれか含まれる」、などの条件が登録されることになる。
添付ファイル条件905−4は、電子メールに添付されている添付ファイルに関する条件が登録されるデータ項目であり、MIMEタイプ条件905−41、キーワード条件905−42、サイズ条件905−43が設定されている。
MIMEタイプ条件905−41は、ファイルの種類に関する情報が登録されるデータ項目であり、例えば、JPEGファイルの場合には「image/jpeg」、テキストファイルの場合には「text/plain」が登録されることになる。
キーワード条件905−42は、添付ファイルに含まれる文字列に関する条件が登録されるデータ項目であって、例えば、「『機密、極秘、社外秘、関係者外秘』のいずれか含まれる」、などの条件が登録されることになる。
サイズ条件905−43は、添付ファイルのサイズに関する条件が登録されるデータ項目であって、例えば、「30MB以上」、「20MB未満」、等の条件が登録される。
尚、1つの中継制御ルールに、送信者条件905−1、宛先条件905−2、件名・本文条件905−3、添付ファイル条件905−4の全てを設定しなくても勿論構わない。また、送信者条件905−1、宛先条件905−2、件名・本文条件905−3、添付ファイル条件905−4のうち複数の条件が登録されている場合には、それら条件をすべて含む電子メールが当該中継制御ルールを適用する電子メールとされる。
動作906は、条件905に合致した電子メールデータに対して適用する処理が登録されるデータ項目であって、「送信」、「送信禁止」、「保留」のうちいずれかが登録される。
「送信」が設定されている場合には、電子メールを指定された送信先に送信する。「送信禁止」が設定されている場合には、電子メールの送信を禁止する。「保留」が設定されている場合には、電子メールの送信を保留し、管理者から受付ける「送信」または「送信禁止」の指示に従った送信制御が行われることになる。
以上が、プロキシサーバ101の外部メモリ211に記憶されている中継制御ルールDB900のデータ構成の説明である。
図5の説明に戻る。ステップS502で中継制御ルールDB900の各データに設定されている優先度情報に従って取得した中継制御ルールの条件に、中継制御の対象としている電子メールが合致しているかを判定する(ステップS503)。
ステップS503の判定処理で、中継制御ルールに合致した(YES)と判定した場合には、処理をステップS504に進め、当該中継制御ルールの動作906に設定された動作を実行すると決定する。
この時、中継制御ルールに宛先(TO、CC、BCC)に関する条件が設定されていたら、エンベロープに設定されているそれら宛先に関する情報を当該宛先条件と照合し、当該宛先条件に合致しているかを判定することになる。
一方、ステップS503の判定処理で条件に合致しない(NO)と判定した場合には、処理をステップS501に進め、未適用の中継制御ルールがあるかを判定し、ある(YES)と判定した場合は、ステップS502以降の処理を行う。
ない(NO)と判定した場合には、処理をステップS505に進め、デフォルト処理として設定されている動作を実行すると決定する。
ステップS506では、ステップS504またはステップS505で電子メールに対して実行すると決定された処理が「送信」、「保留」、「送信禁止」の何れであるかを判定する。
ステップS506の判定処理で「送信」であると判定した場合には、処理をステップS507に進め、送信処理を行う電子メールが結合されたメールであるかを判定する。結合メールである(YES)と判定した場合には、処理をステップS508に進め、当該電子メールデータの分割サイズ709に登録されている結合前の分割メールのメールサイズをもとに電子メールに分割処理を行う。そして、指定された送信先に対して電子メールを送信する(ステップS509)。
ステップS506の判定処理で「保留」であると判定した場合には、処理をステップS510に進め、図8に示す保留電子メールリストに当該電子メールの情報を登録する。
ここで、図8を参照して保留電子メールリスト800のデータ構成の一例について説明する。図8に示すように、保留電子メールリスト800は、メールID801、送信者802、監査者803、保留日時804、監査結果805等のデータ項目を備えて構成されている。
メールID801は、電子メールを一意に識別するための識別情報(メッセージID)が登録されるデータ項目である。このメールID801に登録されている情報を用いて、電子メールDB700に登録されているメールの情報を取得することになる。
送信者802は、当該電子メールを送信したユーザが登録されるデータ項目である。監査者803は、メールIDで特定される電子メールに対して「送信」または「送信禁止」の指示を行うための監査を行うユーザのユーザ情報が登録されるデータ項目である。例えば、電子メールの送信者の上長が監査者として登録されることになる。
保留日時804は、電子メールが保留された日時情報が登録されるデータ項目である。電子メールが保留されたまま一定期間経過したら監査者からの指示がなくても当該電子メールを送信する、当該電子メールの送信を禁止する等行っても勿論構わない。
監査結果805は、監査者による監査結果(「送信」または「送信禁止」)が登録されるデータ項目である。以上が、保留電子メールリストのデータ構成の一例の説明である。
図5の説明に戻る。ステップS510で保留すると決定された電子メールに関する情報を保留電子メールリスト800に追加後、送信者に電子メールが保留された旨の通知を行う(ステップS511)。また、保留された電子メールの監査者として設定されたユーザに対しても、電子メールが保留された旨の通知を行う(ステップS512)。
ステップS506の判定処理で、実行する処理が「送信禁止」であると判定した場合には、処理をステップS513に進め、当該電子メールの送信を禁止する。そして、電子メールの送信者に対して、電子メールの送信が禁止された旨の通知を行う(ステップS514)。
ステップS509、S512、S514のいずれかの処理が終了後、CPU201は、ステップS515に処理を進め、中継制御結果を電子メールDB700中の当該電子メールの制御結果710に登録することになる。
以上が、図3のステップS304のメールデータ中継制御処理の詳細である。
次に、図6を参照して、図3のステップS306の保留メール監査処理の詳細について説明する。この処理は、監査者が使用するクライアント装置103から、プロキシサーバ101が提供する保留電子メールの監査を行うためのウェブページにアクセス要求があった場合に行われる処理である。
プロキシサーバ101は、アクセス要求を行っていたクライアント装置103を操作するユーザの特定処理を行う(ステップS601)。例えば、ユーザID、パスワードの入力を受け付け、その情報が不図示のユーザ管理DBに登録されている場合に、当該ユーザIDで特定されるユーザを電子メールの監査を行うユーザとして特定することになる。
そして、ステップS601でユーザが特定された後に、保留電子メールリスト800に当該ユーザが監査する保留電子メールが記憶されているかを判定する(ステップS602)。
ステップS602の判定処理で、当該ユーザが監査すべき保留電子メールがない(NO)と判定した場合には、処理をステップS603に進め、監査対象の保留電子メールがない旨の通知を行う。
一方、ステップS602の判定処理で当該ユーザが監査すべき保留電子メールがある(YES)と判定した場合には、処理をステップS604に進め、保留電子メールリスト800から当該ユーザが監査すべき保留電子メールを取得する(例えば、監査結果が登録されていない保留電子メールを取得する)。そして、監査対象の保留メール一覧を含む画面情報を生成し(ステップS605)、当該画面情報をクライアント装置103に送信する(ステップS606)。
ここで、図10を参照して、図6のステップS606で送信された画面情報を受信したクライアント装置103のディスプレイ装置に表示される保留電子メール一覧表示画面1000の一例について説明する。
図10に示す通り、保留電子メール一覧表示画面1000には、保留電子メール一覧表示部1001、送信ボタン1002、送信禁止ボタン1003が設定されている。
保留電子メール一覧表示部1001は、保留電子メールの一覧を表示する表示部であって、監査対象メール選択チェックボックス1001−1、メッセージID表示部1001−2、送信日時表示部1001−3、送信者・件名表示部1001−4、添付ファイル有無表示部1001−5、詳細ボタン1001−6が設定されている。
監査対象メール選択チェックボックス1001−1は、まとめ監査の対象とする電子メールを選択するためのチェックボックスである。この監査対象メール選択チェックボックス1001−1にチェックが入れられた電子メールデータに対して、送信ボタン1002の押下指示を受け付けた場合には送信処理を、送信禁止ボタン1003の押下指示を受け付けた場合には送信禁止処理を実行することになる。
メッセージID1001−2は、保留電子メールのメッセージIDを表示する表示部である。送信日時表示部1001−3は、保留電子メールが送信された時刻情報を表示する表示部である。送信者・件名表示部1001−4は当該保留電子メールの送信者情報及び件名情報を表示する表示部である。
添付ファイル有無表示部1001−5は、当該保留電子メールの添付ファイルの有無を表示する表示部である。詳細ボタン1001−6は、電子メールの詳細データ要求をプロキシサーバ101に行うために用いられるボタンである。以上が、図10の保留電子メール一覧表示画面1000の一例の説明である。
図6の説明に戻る。保留電子メール一覧画面を表示させるための画面情報を送信(ステップS606)後、クライアント装置103から保留電子メールの詳細データ要求を受け付けた場合には(ステップS607でYES)、処理をステップS608に進め、電子メールDB700から詳細データを要求された電子メールデータを取得し、その電子メールデータを用いて保留電子メールの詳細データを含む画面情報を生成する。そして、画面情報を、要求を行ってきたクライアント装置103に対して送信する(ステップS609)。
ここで、図11を参照して、図6のステップS609で送信された画面情報を受信したクライアント装置103のディスプレイ装置に表示される保留電子メール詳細確認画面1100の一例について説明する。
図11に示すように、保留電子メール詳細確認画面1100には、送信者(FROM)情報表示欄1101、TO情報表示欄1102、CC情報表示欄1103、BCC情報表示欄1104、件名情報表示欄1105、本文情報表示欄1106、添付ファイル表示欄1107、監査入力欄1108、決定ボタン1109が設定されている。
送信者(FROM)情報表示欄1101は、保留電子メールの送信者の情報を表示する表示欄であって、電子メールDB700の送信者(FROM)703に登録されている情報を表示する表示欄である。
TO情報表示欄1102は、保留電子メールの送信先(TO)情報を表示する表示欄であって、電子メールDB700のTO704−1に登録されている情報を表示する表示欄である。
CC情報表示欄1103は、保留電子メールの送信先(CC)情報を表示する表示欄であって、電子メールDB700のCC704−2に登録されている情報を表示する表示欄である。
BCC情報表示欄1104は、保留電子メールの送信先(BCC)情報を表示する表示欄であって、電子メールDB700のBCC704−3に登録されている情報を表示する表示欄である。
件名情報表示欄1105は、保留電子メールの件名を表示する表示欄であって、電子メールDB700の件名705に登録されている情報を表示する表示欄である。
本文情報表示欄1106は、保留電子メールの本文を表示する表示欄であって、電子メールDB700の本文706に登録されている情報を表示する表示欄である。
添付ファイル表示欄1107は、当該保留電子メールに添付ファイルが設定されている場合に、そのファイル形式に応じてアイコンを表示する表示欄であって、電子メールDB700の添付707に登録されている情報を表示する表示欄である。この添付ファイル表示欄1107に表示されているアイコンに対するダブルクリック処理を行うと、ファイルの内容を確認することが可能である。
監査入力欄1108は、保留電子メールに対する監査情報(「送信」または「送信禁止」)の入力を受け付ける入力欄である。決定ボタン1109は、当該保留電子メールに対して監査入力欄1108で指定された処理を実行させるために用いられるボタンである。
以上が図11の保留電子メール詳細確認画面1100の一例の説明である。
図6の説明に戻る。プロキシサーバ101のCPU201は、クライアント装置103から保留電子メールに対する監査結果を受け付けると(ステップS610でYES)、処理をステップS611に進め、受付けた監査結果が「送信」であるかそれとも「送信禁止」であるかを判定する。
この判定処理で「送信」であると判定した場合には(ステップS611で「送信」)、保留電子メールの送信処理を行う(ステップS612)。
この時、保留電子メールがサイズ分割メールの結合メールであった場合には、再度分割処理を行って電子メールの送信を行うことになる。一方、「送信禁止」であると判定した場合には(ステップS611で「送信禁止」)、当該保留電子メールの送信を禁止する(ステップS613)。
ステップS612またはS613の処理終了後、保留電子メールの送信者に当該保留電子メールに対して処理が行われた旨の通知を行う。
この時、当該保留電子メールが送信されたか、それとも送信を禁止されたかがわかるような形での通知が行われることになる。
その後、この監査結果に従って、当該保留電子メールに対応する電子メールDB700中のデータの制御結果710を更新する(ステップS615)。
送信の監査結果入力がされた場合には「保留→送信」、送信禁止の監査結果入力がされた場合には「保留→送信禁止」と当該データ項目の情報を変更することになる。
そして上記の処理をステップS616で本処理を終了する(YES)と判定するまで行うことになる。以上が図3のステップS306の保留電子メール監査処理の詳細な説明である。
次に、図12に示すフローチャートを用いて、電子メール一時DB1400に登録されたデータを削除する処理について説明を行う。
ステップS1201では、電子メール一時DB1400から1レコードを読込み、ステップS1202では、当該レコードの到着日時が現在時刻より一定時間以上前であるか否かを判定し、一定時間以上前であると判定した場合、処理をステップS1203へ進め、一定時間以上前であると判定しない場合、処理をステップS1204へ進める。
ステップS1203では、電子メール一時DB1400から当該レコードを削除し、ステップS1204では、電子メール一時DB1400に対して全レコードに関して処理を行ったか否かを判定し、処理を行ったと判定した場合は、処理をステップS1205へ進め、処理を行ったと判定しない場合は、処理をステップS1201へ進める。ステップS1205では、本処理を停止し、一定時間経過後、ステップS1201から処理を実行するように待機する。
次に、図13に示すフローチャートを用いて、電子メールDB700に登録されている電子メールデータの結合にかかる処理を行う。
ステップS1301では、電子メールDB700から1レコードを読込み、ステップS1302では、当該レコードの宛先結合フラグ713がクローズ済みであるか否かを判定し、クローズ済みであると判定した場合は、処理をステップS1306へ進め、クローズ済みであると判定しない場合は、処理をステップS1303へ進める。
ステップS1303では、当該レコードの送信元のメールサーバ102に関して、結合待機時間を宛先分割メールサーバDB1500の結合待機時間1502から取得し、当該レコードの到着日時が、現在時刻より結合待機時間以上前であるか否かを判定し、結合待機時間以上前であると判定した場合は、処理をステップS1305へ進め、結合待機時間以上前であると判定しない場合は、処理をステップS1306へ進める。
ステップS1305では、当該レコードの宛先結合フラグ713をクローズ済みとし、ステップS1306では、電子メールDB700に対して全レコードに関して処理を行ったか否かを判定し、処理を行ったと判定した場合は、処理をステップS1307へ進め、処理を行ったと判定しない場合は、処理をステップS1301へ進める。ステップS1307では、本処理を停止し、一定時間経過後(例えば、1分経過後)、実行するように待機する。
尚、宛先分割メールに関してクローズ済みにした後、同じメッセージIDを有する宛先分割メールを受信する場合がある。
この場合、監査者は、極力、同じ宛先分割メールを参照するほうが、監査上好ましいこともあることから、ステップS604において保留電子メールリスト800から当該ユーザが監査すべき保留電子メールを取得する際に、監査結果が登録されていても、同じメッセージIDを有する保留電子メールも合わせて取得する。
そして、図16に示すように、保留電子メール一覧表示画面1000のステータス1001−7に監査結果、つまり「送信」であるかそれとも「送信禁止」を表示しても良い。
本発明では、以上のような構成をとることにより、宛先ごとにエンベロープ情報が分割されてしまった電子メールであっても、もともと設定されていた宛先情報に従って電子メールの中継制御を行うことが可能となる。特に、電子メールのヘッダー情報には存在しないBCCなどの宛先を条件とした真の宛先条件に対して中継制御を行う場合に効果的である。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。