以下、図面を参照して、本発明の実施の形態の一例について説明する。図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は、電子メールの送受信を行うために用いられるサーバ装置であって、電子メールのメールアドレス管理や、当該メールアドレスに送信されてきた電子メールを保存する等の機能を有している。クライアント装置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のCPU201は、本処理の実行中に、新規に電子メールを受信したか(ステップS301)、送信可否を判定する電子メールがあるか(ステップS303)、保留電子メールに対する監査処理要求をクライアント装置103より受け付けたか(ステップS305)の判定を常時行っている。
新規に電子メールを受信したと判定した場合には(ステップS301でYES)、電子メール保存処理を行う(ステップS302)。この電子メール保存処理の詳細については、図4を参照して後述することにする。
また、電子メールの送信可否を判定する電子メールがあると判定した場合には(ステップS303でYES)、電子メール送信制御処理を行う(ステップS304)。この電子メール送信制御処理の詳細については、図5を参照して後述することにする。
また、保留電子メールに対する監査要求を受け付けた場合には(ステップS305でYES)、保留電子メール監査処理を行う(ステップS306)。この保留電子メール監査処理の詳細については、図6を参照して後述することにする。以上が、プロキシサーバ101のCPU201によって行われる処理の概要の説明である。
次に、図4を参照して、図3のステップS302の電子メール保存処理の詳細について説明する。この処理は、電子メールが送信される際に、サイズが大きくなる場合には、あらかじめ設定したサイズに分割して送信する(以下、サイズ分割メールという)ことや、また、メールサーバ102やクライアント装置103にインストールされているメールクライアントソフトによっては、送信先ごとのエンベロープをそれぞれ作成し、それぞれの送信先に対して電子メールを送信する(以下、送信先分割メールという)ことが行われているので、これら分割された電子メールを元の1つのメールに結合し(以下、結合された電子メールを結合電子メールという)、元のメールを基準として送信制御を行えるようにするために行われる処理である。
まず、プロキシサーバ101のCPU201は、受信したメールがサイズ分割電子メールであるかを判定する(ステップS401)。CPU201は、受信した電子メールのメールヘッダのContent−typeが、message/partialとなっている場合に、当該電子メールはサイズ分割電子メールであると判定することになる。
ステップS401の判定処理でYESと判定した場合、CPU201は処理をステップS402に進め、サイズ分割電子メール保存部に当該電子メールを保存する。そして、サイズ分割電子メールが全て揃ったかを判定する(ステップS403)。この判定は、メールヘッダのContent−typeに分割された数(total)と、そのうちの何番目の分割メールであるか(number)という情報が設定されているので、この情報に従い、全てのサイズ分割電子メールが揃ったかを判定することになる。サイズ分割電子メールが全て揃ったと判定した場合には(ステップS403でYES)、サイズ分割電子メールを結合し、サイズ分割される前の電子メールである結合電子メールを作成し(ステップS404)、その後、処理をステップS405に進める。NOと判定した場合には、本処理を終了する。
ステップS401でNOと判定した場合、またはステップS404の処理終了後、CPU201は、外部メモリ211に記憶されている電子メールDB700に、受信した電子メールと同一のメールIDを持つ電子メールが保存されているかを判定する(ステップS405)。この電子メールIDは、メールヘッダのMessege−idに設定されている情報を指す。
ここで、図7を参照して、プロキシサーバ101の外部メモリ211に記憶されている電子メールDB700のデータ構成について説明する。図7に示すように、電子メールDB700は、メールID701、送信日時702、送信者(FROM)703、送信先704、件名705、本文706、添付707、結合708、分割サイズ709、送信制御結果710等のデータ項目を備えて構成されている。
メールID701は、電子メールの識別情報が登録されるデータ項目であり、例えば、メールヘッダのMessage−idに設定されている値が登録される。送信日時702は、当該電子メールが送信された日時情報が登録される。例えば、メールヘッダのDateに設定されている値が登録される。
送信者(FROM)703は、電子メールの送信者情報が登録されるデータ項目であり、電子メールのFROM情報として設定された電子メールアドレスが登録される。例えば電子メールのエンベロープに設定された送信者メールアドレスが登録される。
送信先704は、電子メールの送信先情報が登録されるデータ項目であり、電子メールの送信先(TO、CC、BCC)として設定された電子メールアドレスが登録される。尚、TOに設定された電子メールアドレスはTO704−1に、CCに設定された電子メールアドレスはCC704−2、BCCに設定された電子メールアドレスは、BCC704−3に登録されることになる。この情報は電子メールのメールヘッダ及びエンベロープに従って登録されることになる。
件名705は、電子メールの件名情報が登録されるデータ項目であり、電子メールの件名(Subject)に設定された情報が登録される。例えば、メールヘッダのSubjectに設定された値が登録されることになる。
本文706は、電子メールの本文情報が登録されるデータ項目である。添付707は、電子メールに添付された添付ファイル情報が登録されるデータ項目である。
結合708は、当該メールデータが、サイズ分割電子メールが結合されたものであるかを示す情報が登録されるデータ項目である。例えば、サイズ分割電子メールの結合電子メールの場合には「○」がそれ以外の場合には「×」が登録される。尚、登録方法はこの方法に限られない。分割サイズ709は、当該電子メールがサイズ分割電子メールの結合電子メールである場合に、その元となったサイズ分割電子メールの最大サイズ情報が登録されるデータ項目である。
送信制御結果710は、プロキシサーバ101による当該電子メールに対する送信制御結果等が登録されるデータ項目である。以上がプロキシサーバ101の外部メモリ211に記憶されている電子メールDB700の説明である。
図4の説明に戻る。プロキシサーバ101のCPU201は、受信した電子メール若しくはステップS404で作成した結合電子メールと同一のメッセージIDを有する電子メールデータが電子メールDB700に登録されているかを判定する(ステップS405)。そして、同一のメッセージIDを有する電子メールが電子メールDB700に登録されていると判定した場合には(ステップS405でYES)、処理をステップS406に進め、当該電子メールのエンベロープに設定されている送信先情報のうち、同一のメッセージIDの電子メールに設定されていない送信先を追加登録することで、エンベロープの結合を行う。
通常、エンベロープが個別に作成されてしまう場合には、エンベロープには電子メールの全ての送信先が設定されない。TOやCCについては電子メールのヘッダー情報にも設定されるので、その情報を用いることも可能だが、BCCについてはメールヘッダ情報に含まれないという問題がある。
また、送信先を特定するためにエンベロープとヘッダー情報の双方を確認するのでは、処理の効率が悪い。そこで、本発明では、エンベロープが送信先ごとに設定されてしまう電子メールシステム等の場合に、メールIDをもとに同一の電子メールを特定し、それらのエンベロープに設定されている送信先を結合することで、エンベロープが個別に作成されない電子メールシステムにおいて作成されるエンベロープと同様のエンベロープを生成する。これにより、送信先条件が送信制御ルールに設定されている場合に、その条件に合致しているかを判定するために用いる電子メールの送信先に関する情報をエンベロープのみから取得することが可能となる。また、エンベロープ分割がされており、複数の送信先がBCCに設定されている場合には、複数の送信先が同時に設定されているというような条件が送信制御ルールに設定されている場合に、適切な送信制御を行えないことがある。このようにエンベロープ結合を行うことで、そのような場合にも送信制御ルールの送信先条件に沿った形で適切に送信制御処理を行うことが可能となる。
一方、同一のメッセージIDを有する電子メールが電子メールDB700に登録されていないと判定した場合には(ステップS405でNO)、当該電子メールを電子メールDB700に保存する(ステップS407)。以上が、図3のステップS302の電子メール保存処理の詳細である。
このような処理を行うことで、本発明ではクライアント装置103で動作するメールクライアントソフトによりサイズ分割された電子メールや、メールサーバ102で動作するメールサーバアプリケーション等によって発生してしまう送信先分割された電子メールを元の電子メールに復元し、元のメールに基づいて送信制御を行うことが可能となる。
次に、図5を参照して、図3のステップS304の電子メール送信制御処理の詳細について説明する。プロキシサーバ101のCPU201は、一定間隔で電子メールDB700をチェックし、送信制御結果710にデータが登録されていない(未だ、送信制御処理が行われていない)電子メールで、最終の更新時間(不図示)が所定の時間以上前のものがある場合に、図3のステップS303でYESと判定し、本処理を行うことになる。
まず、プロキシサーバ101のCPU201は、送信制御対象の電子メールに未だ適用していない送信制御ルールがあるか否かを判定し(ステップ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に従った送信制御処理を行う電子メールとされる。
動作906は、条件905に合致した電子メールデータに対して適用する処理が登録されるデータ項目であって、「送信」、「送信禁止」、「保留」のうちいずれかが登録される。「送信」が設定されている場合には、電子メールを指定された送信先に送信する。「送信禁止」が設定されている場合には、電子メールの送信を禁止する。「保留」が設定されている場合には、電子メールの送信を保留し、管理者から受け付ける「送信」または「送信禁止」の指示に従った送信制御が行われることになる。
以上が、プロキシサーバ101の外部メモリ211に記憶されている送信制御ルールDB900のデータ構成の一例の説明である。
図5の説明に戻る。ステップS502で、CPU201は、送信制御ルールDB900中のそれぞれの送信制御ルールの優先度902に登録されている優先度情報に従って取得した送信制御ルールの条件905に、送信制御の対象としている電子メールが合致しているかを判定する(ステップS503)。
ステップS503の判定処理で、送信制御ルールに設定されている条件905に合致した(YES)と判定した場合には、CPU201は処理をステップS504に進め、当該送信制御ルールの動作906に設定された動作を実行すると決定する。この時、送信制御ルールに送信先(TO、CC、BCC)に関する条件が設定されていたら、エンベロープに設定されているそれら送信先に関する情報を当該送信先条件と照合し、当該送信先条件に合致しているかを判定することになる。
一方、ステップS503の判定処理で条件905に合致しない(NO)と判定した場合には、CPU201は処理をステップS501に進め、未適用の送信制御ルールがあるかを判定し、ある(YES)と判定した場合は、ステップS502以降の処理を行う。ない(NO)と判定した場合には、CPU201は処理をステップS505に進め、デフォルト処理として設定されている動作を実行すると決定する。
ステップS506では、CPU201は、ステップS504またはステップS505で電子メールに対して実行すると決定された処理が「送信」、「保留」、「送信禁止」の何れであるかを判定する。
ステップS506の判定処理で「送信」であると判定した場合には、CPU201は処理をステップS507に進め、送信処理を行う電子メールが、サイズ分割電子メールが結合された結合電子メールであるかを判定する。結合電子メールである(YES)と判定した場合には、処理をステップS508に進め、当該電子メールの分割サイズ709に登録されている結合前の分割電子メールのメールサイズをもとに電子メールに対するサイズ分割処理を行う。そして、指定された送信先に対して電子メールを送信する(ステップS509)。
ステップS506の判定処理で「保留」であると判定した場合には、処理をステップS510に進め、図8に示す保留電子メールDB800に当該電子メールの情報を登録する。
ここで、図8を参照して保留電子メールDB800のデータ構成の一例について説明する。図8に示すように、保留電子メールDB800は、メールID801、送信者802、監査者803、保留日時804等のデータ項目を備えて構成されている。
メールID801は、電子メールを一意に識別するための識別情報が登録されるデータ項目である。このメールID801に登録されている情報を用いて、電子メールDB700に登録されている電子メールの情報を取得することになる。
送信者802は、当該電子メールを送信したユーザが登録されるデータ項目である。監査者803は、メールIDで特定される電子メールに対して「送信」または「送信禁止」の指示を行うための監査入力を行うユーザのユーザ情報が登録されるデータ項目である。例えば、電子メールの送信者の上長が監査者として登録されることになる。
保留日時804は、電子メールが保留された日時情報が登録されるデータ項目である。電子メールが保留されたまま一定期間経過したら監査者からの指示がなくても当該電子メールを送信する、当該電子メールの送信を禁止する等行っても勿論構わない。
以上が、保留電子メールDB800のデータ構成の一例の説明である。
図5の説明に戻る。ステップS510で保留すると決定された電子メールに関する情報を保留電子メールDB800に追加後、送信者に電子メールが保留された旨の通知を行う(ステップS511)。また、保留された電子メールの監査者として設定されたユーザに対しても、電子メールが保留された旨の通知を行う(ステップS512)。
ステップS506の判定処理で、実行する処理が「送信禁止」であると判定した場合には、処理をステップS513に進め、当該電子メールの送信を禁止する。そして、電子メールの送信者に対して、電子メールの送信が禁止された旨の通知を行う(ステップS514)。
ステップS509、S512、S514のいずれかの処理が終了後、CPU201は、ステップS515に処理を進め、送信制御結果を電子メールDB700中の当該電子メールの送信制御結果710に登録することになる。以上が、図3のステップS304の電子メール送信制御処理の詳細である。
本発明では、1通の電子メールのエンベロープが分割された電子メールについて、エンベロープを結合した後に送信制御ルールを用いた送信制御処理を実行することになる。エンベロープ結合を行わずに送信制御処理をするような手法をとると、当該電子メールが保留や送信禁止とされる場合には、電子メールが保留された旨の通知がエンベロープ分割された数だけ、監査者や送信者に行われてしまう可能性がある。しかし本発明では、元の1通の電子メールにしたのちに送信制御処理を行うので、複数の通知がされることはないという作用効果も生ずる。
次に。図6を参照して、図3のステップS306の保留電子メール監査処理の詳細について説明する。この処理は、監査者が使用するクライアント装置103から、プロキシサーバ101が提供する保留電子メールの監査を行うためのウェブページにアクセス要求があった場合に行われる処理である。
プロキシサーバ101のCPU201は、アクセス要求を行ったクライアント装置103を操作するユーザの特定処理を行う(ステップS601)。例えば、ユーザID、パスワードの入力を受け付け、その情報が不図示のユーザ管理DBに登録されている場合に、当該ユーザIDで特定されるユーザを電子メールの監査を行うユーザとして特定することになる。
そして、ステップS601でユーザが特定された後に、CPU201は、保留電子メールDB800に当該ユーザが監査する保留電子メールが記憶されているかを判定する(ステップS602)。
ステップS602の判定処理で、当該ユーザが監査すべき保留電子メールがない(NO)と判定した場合には、CPU201は処理をステップS603に進め、監査対象の保留電子メールがない旨の通知を行う。
一方、ステップS602の判定処理で当該ユーザが監査すべき保留電子メールがある(YES)と判定した場合には、処理をステップS604に進め、保留電子メールDB800から当該ユーザが監査すべき保留電子メールを取得する。そして、監査対象の保留電子メール一覧を含む画面情報を生成し(ステップ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の押下指示を受け付けた場合には送信禁止処理をプロキシサーバ101のCPU201は実行することになる。
メールID1001−2は、保留電子メールのメールIDを表示する表示部である。送信日時表示部1001−3は、保留電子メールが送信された時刻情報を表示する表示部である。送信者・件名表示部1001−4は当該保留電子メールの送信者情報及び件名情報を表示する表示部である。
添付ファイル有無表示部1001−5は、当該保留電子メールの添付ファイルの有無を表示する表示部である。詳細ボタン1001−6は、保留電子メールの詳細データ要求をプロキシサーバ101に行うために用いられるボタンである。以上が、図10の保留電子メール一覧画面1000の一例の説明である。
図6の説明に戻る。保留電子メール一覧画面1000を表示させるための画面情報を送信(ステップS606)後、クライアント装置103から保留電子メールの詳細データ要求を受け付けた場合には(ステップS607でYES)、CPU201は処理をステップS608に進め、電子メールDB700から詳細データを要求された電子メールを取得し、その電子メールを用いて保留電子メールの詳細データを含む画面情報を生成する。そして、CPU201はその画面情報を、要求を行ってきたクライアント装置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)。送信の監査結果入力がされた場合には「保留→送信」、送信禁止の監査結果入力がされた場合には「保留→送信禁止」と当該データ項目の情報を変更することになる。また、保留電子メールDB800から当該保留電子メールに関するレコードを削除する。
そして上記の処理をステップS616で本処理を終了する(YES)と判定するまで行うことになる。以上が図3のステップS306の保留電子メール監査処理の詳細な説明である。
ここで、図12を参照して、本発明の情報処理装置として機能する図1のプロキシサーバ101の機能構成の一例について説明する。
図12に示すように、プロキシサーバ101は、送信制御ルール記憶部1201、電子メール取得部1202、電子メール記憶部1203、保留電子メール記憶部1204、電子メール結合部1205、電子メール分割部1206、同一電子メール有無判定部1207、条件合致判定部1208、電子メール送信制御処理実行部1209、監査受付部1210等を備えて構成されている。
送信制御ルール記憶部1201は、図9に示す送信制御ルールDB900等を記憶する機能部である。電子メール取得部1202は、クライアント装置103やメールサーバ102から送信された電子メールを取得する機能部である。電子メール記憶部1203は、電子メール取得部1202が取得した電子メールを記憶する記憶部であり、図7に示す電子メールDB700を記憶、管理する。保留電子メール記憶部1204は、後述する電子メール送信制御処理実行部1209による送信制御処理の結果、送信が保留された電子メールを記憶する記憶部であり、図8に示す保留電子メールDB800を記憶、管理する。
電子メール結合部1205は、後述する同一電子メール有無判定部1207で、電子メール記憶部1203に同一のメールIDを有する電子メールがあると判定された場合に、同一のメールIDを有する電子メールのエンベロープを結合し、1つの結合電子メールにしたり、サイズ分割されたサイズ分割電子メールを1つの結合電子メールにしたりする機能部である。電子メール分割部1206は、電子メール結合部1205により結合された結合電子メールを、当該電子メールの送信前に結合前のサイズを基準に再分割する機能部である。
同一電子メール有無判定部1207は、電子メール取得部1202が取得した電子メールと同一のメールIDを有する電子メールが電子メールDB700に記憶されているかを判定する機能部である。条件合致判定部1208は、送信制御処理の対象となる電子メールが、送信制御ルールの条件に合致するか否かを判定する機能部である。電子メール送信制御処理実行部1209は、条件合致判定部1208により、条件に合致したと判定した送信制御ルールに設定されている動作に従って、電子メールの送信制御を行う機能部である。
監査受付部1210は、保留電子メールDB800に記憶されている保留電子メールに対する監査情報(送信、送信禁止)の入力を受け付ける機能部である。以上がプロキシサーバ101の機能構成の一例の説明である。
以上のような構成をとることにより、送信先ごとにエンベロープ情報が分割されてしまった電子メールであっても、もともと設定されていた送信先情報に従って電子メールの送信制御を行うことが可能となる。特に、電子メールのヘッダー情報には存在しないBCCなどの送信先を条件とした真の送信先条件に対して送信制御を行う場合に効果的である。
<第2の実施の形態>
以下、図面を参照して、本発明の第2の実施の形態について説明する。第2の実施の形態では、1通の電子メールに設定された複数のアドレスに対し、異なる送信制御を行うことを可能とする例について説明することにする。
このように、1通の電子メールに設定されている複数の送信先について異なる送信制御を行う理由としては、電子メールに設定された一部の送信先に対しては、当該電子メールを送っても構わないが、残りの送信先に対しては送信すべきでないという場合、第1の実施の形態での電子メールの送信制御処理では、その残りの送信先が設定されていることで、一部の送信先についても電子メールの送信が禁止されることになってしまう。
そこで、第2の実施の形態では、1通の電子メールに設定されたそれぞれの送信先ごとに、異なる送信制御を行えるようにした。しかし、そのような場合には、次のようなことも考慮しなければならない。
複数の送信先(送信先A、送信先B、送信先C)が設定された電子メール(電子メールXとする)に対する送信制御処理を行った結果、送信先A、送信先Bに対しては当該電子メールXが送信されたが、送信先Cに対しては送信が保留された場合に、送信先Aから電子メールXの返信メールである電子メールYが送信された。その際に、電子メールYの送信先には、送信先B、送信先C、そして電子メールXの送信者が設定されることになる。
その時、当該電子メールYに対する送信制御処理を行った結果、全ての送信先に対して送信と判定された場合に、送信先Cには本来先に届くべき電子メールXよりも前に電子メールYが届いてしまう可能性があるという問題が発生しうる。
また、電子メールXに対する監査で、送信先Cに対しては電子メールXを送信禁止とされる場合も考えられる。その場合、電子メールXを送信すべきではない送信先Cに対して電子メールXの返信メールである電子メールYが届いてしまう可能性が発生しうるという問題もある。
そこで、第2の実施の形態では、上記のような問題点を考慮して、1通の電子メールに設定された一部の宛先に対する当該電子メールの送信が、保留や禁止された場合に、その電子メールの関連の電子メール(返信メール等)が該一部の宛先に送信されないような送信制御を可能とする、プロキシサーバ101による電子メールの送信制御について説明する。
第2の実施の形態においても、プロキシサーバ101が行う処理の概要(図3に示す処理)は第1の実施の形態と略同様であるので、詳細な説明は割愛する。尚、これ以降は第1の実施の形態と処理が異なる点についてのみ説明することとし、それ以外の処理については説明を割愛する。
図13、図14は、第2の実施の形態における電子メール送信制御処理(図3のステップS304の処理)の詳細を示すフローチャートである。図13、図14に示す処理をプロキシサーバ101のCPU201に実行させるためのプログラムは、外部メモリ211等に記憶されており、本処理を実行する際に、CPU201は当該プログラムをRAM202にロードし、ロードしたプログラムによる制御に従って、本処理を実行する。
まず、プロキシサーバ101のCPU201は、送信制御対象の電子メールに対してまだ適用されていない(未適用の)送信制御ルールがあるかを判定する(ステップS1301)。未適用の送信制御ルールがある(ステップS1301でYES)と判定した場合には、処理をステップS1302に進め、送信制御ルールに設定されている優先度に従って、未適用の送信制御ルールを取得する。
ここで、図19を参照して、第2の実施の形態で用いられる送信制御ルールDB1900のデータ構成について説明する。
図19に示す通り、送信制御ルールDB1900は、データ項目として、ルールID1901、優先度1902、ルール名称1903、コメント1904、分割評価1905、条件1906、動作設定1907、監査者1908等のデータ項目を備えて構成されている。
ルールID1901は、送信制御ルールを一意に識別するための識別情報が登録されるデータ項目である。優先度1902は、送信制御ルールを適用する優先順を示す優先度情報が登録されるデータ項目である。
ルール名1903は、送信制御ルールの名称が登録されるデータ項目である。コメント1904は、送信制御ルールに関するコメントが登録されるデータ項目である。例えば、どのような趣旨で当該送信制御ルールが設けられているかを示す情報などが登録される。
分割評価1905は、電子メールの送信先(TO,CC,BCC)に設定されているそれぞれの送信先ごとに送信制御ルールを適用するか否かの情報が登録されるデータ項目である。
この分割評価1905がそれぞれの送信先ごとに送信制御ルールを設定するものである場合には、プロキシサーバ101は、電子メールに含まれるそれぞれの送信先ごとに送信制御ルールの適用を行うことになる。その結果として、1つの電子メールに設定されている一部の送信先には当該送信制御ルールを用いた送信制御処理を行い、残りの送信先への当該電子メールの送信制御処理を他の送信制御ルールに従って行うケースが発生しうる。
条件1906は、送信制御ルールを適用する電子メールの条件が登録されるデータ項目であって、データ項目として、送信者条件1906−1、送信先条件1906−2、件名・本文条件1906−3、添付ファイル条件1906−4等を備えている。
送信者条件1906−1は、電子メールの送信者条件が登録されるデータ項目であり、例えば、「*@example.co.jpである」、「*@example.co.jp以外」の宛先条件を登録可能である。また、「課長以上」、「部長以上」のメールアドレス群を登録したグループ情報を設定し、そのグループを登録することも可能である。その際には、そのグループ情報に含まれるメールアドレスが送信者(FROM)に設定されている電子メールがこの送信者条件に合致することになる。
送信先条件1906−2は、電子メールの送信先条件が登録されるデータ項目であり、例えば、「TO、CC、BCCに*@example.co.jp以外のアドレスが設定されている」、「TO、CCに設定されているアドレス件数がn件以上である」や、「n以上のドメインが含まれる」、「送信者の管理者のメールアドレスがCCに設定されていない」、などの条件が登録可能である。
件名・本文条件1906−3は、電子メールの件名や本文に設定されている文字列に関する条件が登録されるデータ項目であり、例えば、「件名が入力されていない」、「件名又は本文に、『機密、極秘、社外秘、関係者外秘』のいずれか含まれる」、などの条件が登録可能である。
添付ファイル条件1906−4は、電子メールに添付されている添付ファイルに関する条件が登録されるデータ項目であり、MIMEタイプ条件1906−41、キーワード条件1906−42、サイズ条件1906−43が設定されている。
MIMEタイプ条件1906−41は、ファイルの種類に関する情報が登録されるデータ項目である。例えば、「添付ファイルにJPEGファイルを含む」という条件を登録する場合には、「image/jpegを含む」、「添付ファイルがテキストファイル以外である」という条件を登録する場合には、「text/plain以外である」という情報が登録されることになる。
キーワード条件1906−42は、添付ファイルに含まれる文字列に関する条件が登録されるデータ項目であって、例えば、「『機密、極秘、社外秘、関係者外秘』のいずれか含まれる」、などの条件が登録可能である。
サイズ条件1906−43は、添付ファイルのサイズに関する条件が登録されるデータ項目であって、例えば、「30MB以上」、「20MB未満」、等の条件が登録される。尚、MIMEタイプ条件1906−41、キーワード条件1906−42、サイズ条件1906−43は必ず設定しなければならないものではなく、必要があるもののみ登録すればよい。例えば、ファイルの種類や内容にかかわらず、5MB以上のファイルが添付されている電子メールに対する送信制御を行うための送信制御ルールであれば、サイズ条件1906−43に5MB以上とだけ登録すれば良い。
また、1つの送信制御ルールに、送信者条件1906−1、送信先条件1906−2、件名・本文条件1906−3、添付ファイル条件1906−4の全てを設定しなくても勿論構わない。また、送信者条件1906−1、送信先条件1906−2、件名・本文条件1906−3、添付ファイル条件1906−4のうち複数の条件が登録されている場合には、それら条件をすべて含む電子メールが当該送信制御ルールを適用する電子メールとされる。
動作設定1907は、条件1906に設定された条件に合致した電子メールデータに対して実行する処理が登録されるデータ項目であって、送信先条件1907−1、動作1907−2が設定されている。尚、1通の電子メールに設定された複数の送信先のそれぞれに対する動作(電子メールに対する送信制御処理)を異ならせることを可能にするために、動作設定1907は複数登録することが可能である。
送信先条件1907−1は、当該動作設定1907の動作1907−2に設定されている処理を、どの送信先に対して実行するのかを特定するための送信先条件が登録されるデータ項目である。
動作1907−2は、電子メールに設定されている送信先(TO,CC,BCC)のうち、送信先条件1907−1に設定された条件に合致する送信先に対して実行する当該電子メールの処理が登録されるデータ項目であって、「送信」、「送信禁止」、「保留」のうちいずれかが登録される。動作1907−2に「送信」が設定されている場合には、プロキシサーバ101のCPU201は、電子メールを送信先条件1907−1に設定された条件に合致する送信先に送信する。同様に、プロキシサーバ101のCPU201は、動作1907−2に「送信禁止」が設定されている場合には、電子メールを送信先条件1907−1に設定された条件に合致する送信先に対する当該電子メールの送信を禁止し、「保留」が設定されている場合には、電子メールを送信先条件1907−1に設定された条件に合致する送信先に対する電子メールの送信を保留し、管理者から受け付ける「送信」または「送信禁止」の監査入力に従った送信制御を行うことになる。
監査者1908は、当該条件に合致し、保留されることとなった電子メールに対して「送信」または「送信禁止」の指示を入力する監査者(管理者)が登録されるデータ項目である。以上が、第2の実施の形態における送信制御ルールDB1900のデータ構成の説明である。
図13の説明に戻る。ステップS1302で電子メールに適用する送信制御ルールを取得した後に、CPU201は、該取得した送信制御ルールの分割評価1905に登録されている情報に従って、当該送信制御ルールは分割評価の送信制御ルールであるかを判定する(ステップS1303)。
ステップS1302で取得した送信制御ルールが分割評価の送信制御ルールである場合には、先に述べたように、CPU201は、電子メールに設定されている送信先ごとに送信制御ルールに合致するか否かを判定し、条件に合致した送信先にのみ、当該送信制御ルールのいずれかの動作設定1907の動作1907−2に設定された電子メールの送信制御処理を行うことになる。
CPU201が、ステップS1302で取得した送信制御ルールが分割評価の送信制御ルールではない(ステップS1303でNO)と判定した場合には、処理をステップS1304に進め、送信制御処理対象の電子メールがステップS1302で取得した送信制御ルールの条件1906の各種条件に合致するかを判定する。
ステップS1304の判定処理で条件1906の各種条件に合致する(YES)と判定した場合には、CPU201は処理をステップS1305に進め、当該送信制御ルールの動作設定1907に設定されている動作に従って、当該電子メールに対する処理を決定する。この時、動作設定1907が複数設定されている場合には、送信先ごとにいずれの動作設定1907に基づく処理をするかを送信先条件1907−1に従って決定し、決定された動作設定1907の動作1907−2の設定に基づいて、当該送信先に対する電子メールの処理を決定することになる。尚、この時、1通の電子メールに設定されている複数の送信先に対する電子メールの動作が異なる場合には、CPU201は、電子メールをエンベロープ分割し、エンベロープ分割されたそれぞれの電子メールに対して動作を設定することになる。尚、エンベロープ分割については、図23を参照して説明する。ステップS1305の処理終了後、CPU201は、図14のステップS1401に処理を進める。
一方、ステップS1304の判定処理で、CPU201が送信制御処理対象の電子メールがステップS1302で取得した送信制御ルールの条件1906に設定された各種条件に合致しない(NO)と判定した場合には、処理をステップS1301に進める。
ステップS1303の判定処理で、ステップS1302で取得した送信制御ルールが、分割評価の送信制御ルールであると判定した場合には、CPU201は処理をステップS1306に進め、当該電子メールのエンベロープを送信先ごとのエンベロープに分割する。尚、既にエンベロープ分割が行われている場合や、送信先が1つしか設定されている場合にはステップS1306のエンベロープ分割処理は行わない。電子メールのエンベロープ分割のイメージを図23に示す。
図23は、電子メールのエンベロープ分割のイメージを示す図である。図23中のエンベロープ分割前の電子メールは、電子メールのエンベロープに複数の送信先(A,B,C)が設定されている。
このような電子メールデータに対してエンベロープ分割を行うと、エンベロープ分割後のようになる。即ち、1つ1つの送信先がエンベロープに個別に設定された複数の電子メールが作成されることになる。図23のエンベロープ分割後の電子メールからもわかるように、元の電子メールのエンベロープに設定された送信先(A,B,C)がそれぞれ1つずつ設定された電子メールが作成される。
以上が、電子メールのエンベロープ分割の説明である。
図13の説明に戻る。ステップS1306でエンベロープ分割処理を行ったのち、CPU201は、エンベロープ分割によって作成される全てのエンベロープ分割電子メールに対して(つまりは、すべての送信先に対する個々の電子メールに対して)、ステップS1307〜ステップS1309の処理を実行する。
ステップ1307では、CPU201は、未判定の送信先向けのエンベロープ分割電子メールを取得する。そして、ステップS1307で取得したエンベロープ分割電子メールが、ステップS1302で取得した送信制御ルールに設定されている条件1906に合致しているかを判定する(ステップS1308)。そして、ステップS1308の判定処理で合致している(YES)と判定した場合には、CPU201は、ステップS1302で取得した送信制御ルールに設定されている動作に従って、ステップS1307で取得したエンベロープ分割電子メールに対する動作を決定する(ステップS1309)。この時、送信制御ルールに、送信先ごとに複数の動作設定1907がされている場合には、送信先に応じて動作が決定されることになる。尚、ステップS1308の処理では、それぞれのエンベロープ分割電子メールが送信制御ルールに合致するかを個別に判定し、合致している場合にはその送信制御ルールに設定された当該エンベロープ分割電子メールの動作として決定し、送信制御ルールに合致しないエンベロープ分割メールは、当該送信制御ルールでは動作が決定されない。
そして、全ての送信先に対するエンベロープ分割電子メールについて、ステップS1307〜ステップS1309の処理終了後、動作が決定されていないエンベロープ分割電子メールがあるかを判定する(ステップS1310)。この判定処理でYESと判定した場合には、動作が決定されていない送信先に対するエンベロープ分割電子メールのエンベロープを結合し、1つの電子メールを作成する(ステップS1311)。エンベロープを結合し、1つの電子メールを作成するためは、エンベロープ分割と逆の処理を行うことになる。尚、動作が決定されていないエンベロープ分割電子メールが1つである場合には、電子メールの結合処理は行われない。
ステップS1311の処理終了後、処理をステップS1301に戻し、ステップS1301以降の処理を行う。既にステップS1309で動作が決定された送信先に対する当該電子メールの動作は、それ以降の処理で変更されない。
プロキシサーバ101のCPU201が、ステップS1310の判定処理でNOと判定した場合には、処理を図14のステップS1401に進める。
電子メールに対して、全ての送信制御ルールを適用した結果、条件1906に合致する送信制御ルールがなかった場合には(この場合、ステップS1301の判定処理でNOと判定することになる)、処理をステップS1312に進め、あらかじめ設定されているデフォルト動作に従って、当該電子メールの動作を決定する。その後、図14のステップS1401に処理を進める。
図13のステップS1305の処理終了後、ステップS1310の判定処理でNOと判定した場合、ステップS1312の処理終了後、プロキシサーバ101のCPU201は、引き続き、図14に示す処理を行う。図14では、電子メールに設定されている送信先ごとに、当該電子メールに関連する他の電子メールの送信制御処理の状況にもとづいて、最終的な送信制御(動作)を決定する処理を行うことになる。
第2の実施の形態では、1通の電子メールに複数の送信先が設定されている場合に、それぞれの送信先に対して異なる送信制御が行われることがあり得る。例えば、送信者であるPが複数の送信先X、Y、Zを設定した電子メールAに対して、プロキシサーバ101のCPU201が送信制御ルールを用いた送信制御処理を行った結果が、XとZに対しては電子メールAを送信する、Yに対しては電子メールAを直ちに送信せず、監査者による送信/禁止の判断の指示に従った制御を行う(つまり送信を保留する)と決定されることなどがあり得る。
上記のようなケースで、電子メールAを受信したXが、全員に対して電子メールAの返信メールである電子メールBを作成する際に、その送信先(TO、CC)には、P、Y、Zが設定されることになる。この電子メールBに対してプロキシサーバ101のCPU201が送信制御ルールを用いた送信制御処理を行った結果が、全送信先に対して送信を許可するものになることも考えられる。
上記のようになってしまうと、本来先に届くべき電子メールAが送信先Yに送信されていない状態で、電子メールBが送信先Yに届いてしまうことになる。もしかしたら、電子メールAは送信先Yには送信すべきでないと監査者によって判断される場合もあるので、電子メールAに対する送信先Yへの送信の可否判定が行われていない状態で、電子メールBを送信先Yに送信するのは問題がある。
そこで、第2の実施の形態では、特に、図13の送信制御処理の対象とした電子メールが他の電子メールの返信メールである場合に(今後、このような他の電子メールを「返信元電子メール」という)、返信元電子メールの送信制御結果を確認し、電子メールの送信制御方法を最終決定することになる。
まず、ステップS1401において、プロキシサーバ101のCPU201は、送信制御処理の対象である電子メールのヘッダー情報等に基づいて他の電子メールの返信メールであるかを判定する。
ステップS1401の判定処理で、CPU201が返信メールではない(NO)と判定した場合には、処理をステップS1402に進め、図13に示す処理を行うことで決定された、電子メールに設定された各送信先それぞれに対する当該電子メールの動作を当該電子メールに対する動作として設定する。その後、ステップS1412に処理を進める。
ステップS1401の判定処理で、CPU201が返信メールである(YES)と判定した場合には、当該電子メールに設定された全ての送信先に対してステップS1403〜S1411の処理を行うことになる。
まず、プロキシサーバ101のCPU201は、ステップS1403において、電子メールに設定された送信先のうち、ステップS1403〜S1411の処理がまだ済んでいない送信先を取得する。そして、CPU201が図13に示す送信制御処理を実行したことで決定されたその送信先に対する動作が送信禁止であるか否かを判定する(ステップS1404)。このステップS1404の判定処理で送信禁止である(YES)とCPU201が判定した場合には処理をステップS1407に進める。一方、送信禁止ではない(NO:送信または保留である)と判定した場合には処理をステップS1405に進める。
CPU201はステップS1405において、送信制御対象の電子メールの返信元電子メールの送信履歴情報を電子メール送信履歴DB2000から取得する。
ここで、図20を参照して、電子メール送信履歴DB2000のデータ構成について説明する。図20に示す通り、電子メール送信履歴DB2000は、データ項目としてメールID2001、送信先2002、送信制御結果2003等を備えている。
メールID2001には、電子メールを一意に識別するための情報が登録される。例えば、電子メールヘッダ中のMessage−idに設定されている情報が登録されることになる。
送信先2002には、メールID2001で特定される電子メールに設定された送信先(TO,CC,BCC)が登録される。1通の電子メールに複数の送信先が設定されている場合には、それぞれの送信先ごとに電子メール送信履歴DB2000にレコードが作成されることになる。
送信制御結果2003には、メールID2001に登録されたメールIDで識別される電子メールの送信先2002に設定された送信先に対する送信制御結果が登録される。送信、保留、送信禁止、保留→送信、保留→送信禁止等の情報がこの送信制御結果2003には登録されることになる。以上が、図20の電子メール送信履歴DB2000のデータ構成の一例の説明である。
図14の説明に戻る。ステップS1405では、CPU201は、送信制御対象の電子メールのメールヘッダ中のIn−reply−toに設定された情報(返信元電子メールID)と、ステップS1403で取得した送信先情報を用いて、電子メール送信履歴DB2000を検索し、それらに合致するレコードを検索することで、返信元電子メールの送信履歴情報を取得する。そして、ステップS1403で取得した送信先への返信元電子メールの送信履歴情報を取得した後に、返信元電子メールの当該送信先への送信制御結果が送信禁止であるかを判定する(ステップS1406)。CPU201は、この判定処理で送信禁止(保留→送信禁止も含む)である(YES)と判定した場合には、処理をステップS1407に進める。一方、送信禁止ではない(NO)と判定した場合には、処理をステップS1408に進める。尚、メールID2001には合致するレコードがあるが、そのいずれの送信先2002に合致しないという場合には、その送信先は返信元電子メールの送信元であるか若しくは、新たに追加された送信先である。この場合には当該送信先に対しては、返信元電子メールがが保留等されていることはないので、返信元電子メールが既に送信された送信先と同様の処理をすることになる。
ステップS1404でYESと判定した場合、また、ステップS1406でYESと判定した場合には、CPU201は処理をステップS1407に進め、送信制御対象の電子メールのステップS1403で取得した送信先へ動作を送信禁止に決定する。
ステップS1408では、CPU201は、ステップS1403で取得した送信先に対して、返信元電子メールが保留状態になっているかを判定する。ステップS1408でYESと判定した場合には、プロキシサーバ101のCPU201は処理をステップS1409に進め、当該電子メールに対する送信制御処理を一時停止後、送信制御ルールで決定された動作を行うと決定する。尚、送信制御処理を一時停止するとは、返信元電子メールに対する送信制御処理が終了後、当該電子メールに対する送信制御処理を行うことを意味する。
尚、送信制御処理を一時停止した電子メールは、後述するステップS1412の処理において、図22に示す一時停止電子メールDB2200に登録されることになる。
ここで、図22を参照して、一時停止電子メールDB2200のデータ構成について説明する。図22に示すように、一時停止電子メールDB2200は、メールID2201、送信先2202、送信制御結果2203、監査者2204、返信元電子メールID2205等を備えて構成されている。
メールID2201には、電子メールを一意に識別するための情報が登録される。例えば、電子メールヘッダ中のMessage−idに設定されている情報が登録されることになる。
送信先2202には、メールID2201で特定される電子メールに設定された送信先(TO,CC,BCC)が登録される。1通の電子メールに設定されている複数の送信先に対して当該電子メールの送信制御処理が一時停止される場合には、それぞれの送信先ごとに一時停止電子メールDB2200にレコードが作成されることになる。
送信制御結果2203には、送信制御が一時停止されている電子メールに対する送信制御ルールを用いた送信制御処理の結果決定された動作が登録される。監査者2204には、送信制御結果2203に登録された動作が「保留」である場合に、当該保留された電子メールに対して監査を行う監査者の情報が登録される。
返信元電子メールID2205には、一時停止された電子メールの返信元電子メールのメールIDが登録される。例えば、一時停止された電子メールの電子メールヘッダ中のIn−reply−toに設定されている情報が登録されることになる。
以上が、一時停止電子メールDB2200のデータ構成の一例の説明である。
図14の説明に戻る。ステップS1408の処理で、返信元電子メールが保留状態ではないと判定した場合には、CPU201は、送信制御対象の電子メールのメールヘッダ中のIn−reply−toに設定された情報(返信元電子メールID)と、ステップS1403で取得した送信先情報を用いて、一時停止電子メールDB2200を検索し、それらに合致するレコードを取得できたか否かにより、返信元電子メールの送信制御が一時停止されているかを判定する(ステップS1410)。この判定処理で、YESと判定した場合には処理をステップS1409に進め、当該電子メールに対する送信制御処理を一時停止後、当該電子メールに対する送信制御を行うと決定する。
一方、ステップS1410の処理でNOと判定した場合には、処理をステップS1411に進め、当該電子メールには、送信制御処理により決定された動作(図13のステップS1305、S1309、S1312のいずれかで決定された動作)を行うと決定する。
ステップS1402、ステップS1407、ステップS1409、ステップS1411のいずれかの処理によって、電子メールに設定された全ての送信先に対する動作の決定をしたのちに、CPU201は、電子メール送信制御実行処理を行う(ステップS1412)。本処理の詳細については、図15を参照して説明する。
ここで、図15を参照して、図14のステップS1412の電子メール送信制御実行処理の詳細について説明する。この処理はプロキシサーバ101のCPU201によって行われる処理であり、本処理をプロキシサーバ101のCPU201に実行させるためのプログラムは外部メモリ211等に保存されており、本処理を実行するに際し、CPU201は当該プログラムをRAM202にロードし、ロードしたプログラムの制御に従って本図に示す処理を実行することになる。
まず、CPU201は、図13及び図14に示す電子メール送信制御処理を実行した結果、電子メールの送信制御処理を一時停止すると決定された送信先に対して、ステップS1501〜S1504の処理を行う。
ステップS1501において、CPU201は、電子メールの送信制御処理を一時停止すると決定した送信先のうち、ステップS1502以降の処理がまだ行われていない送信先を取得する。
その後、CPU201は、当該電子メールの設定された他の送信先に、当該電子メールの送信を禁止すると決定された送信先があるかを判定する(ステップS1502)。この判定処理でYESとCPU201が判定した場合には、処理をステップS1503に進め、当該電子メールを送信禁止とされた送信先を、当該電子メールのメールヘッダから削除する。この処理を行う目的は、当該電子メールが指定された送信先に送信された後、その電子メールを受信したクライアント装置103が電子メール(返信元電子メール)に対する返信メールを作成する際に、当該返信メールの送信先に、返信元電子メールの送信が禁止された送信先が設定されることを防ぐためである。後述するステップS1507、ステップS1513についても同様の目的で行っている。
そして、その送信先及び当該電子メールのメールIDを有するレコードを一時停止電子メールDB2200に追加登録する(ステップS1504)。
その後、CPU201は、図13及び図14に示す電子メール送信制御処理を実行した結果、電子メールの送信を保留すると決定された送信先に対して、ステップS1505〜ステップS1508の処理を行う。
ステップS1505において、CPU201は、電子メールの送信を保留すると決定された送信先のうち、ステップS1506以降の処理がまだ行われていない送信先を取得する。
その後、CPU201は、当該電子メールの設定された他の送信先に、当該電子メールの送信を禁止すると決定された送信先があるかを判定する(ステップS1506)。この判定処理でYESとCPU201が判定した場合には、CPU201は処理をステップS1507に進め、当該電子メールを送信禁止とされた送信先を、当該電子メールのメールヘッダから削除する。
そして、保留電子メールDB2100に、当該送信先と、電子メールのメールIDを有するレコードを追加登録する(ステップS1508)。
ここで、図21を参照して、第2の実施の形態における保留電子メールDB2100のデータ構成について説明する。第2の実施の形態における保留電子メールDB2100は、データ項目として、メールID2101、送信者2102、監査者2103、送信先2104、保留日時2105等のデータ項目を備えて構成されている。
尚、メールID2101、送信者2102、監査者2103、保留日時2105については、それぞれ、第1の実施の形態における保留電子メールDB800のメールID801、送信者802、監査者803、保留日時804に対応するものであるから、ここでの詳細な説明は割愛する。
送信先2104は、当該電子メールの送信先を登録するデータ項目である。このようなデータ項目を設けている目的は、第2の実施の形態では、1通の電子メールに対して設定されたそれぞれの送信先に対する当該電子メールの送信制御処理が異なる場合があるので、当該電子メールの送信が保留されているのはどの送信先であるかを特定するためである。
以上が、第2の実施の形態における保留電子メールDB2100のデータ構成の説明である。
図15の説明に戻る。次に、CPU201は、図13及び図14に示す電子メール送信制御処理の結果、電子メールを送信すると決定された送信先に対して、ステップS1509〜S1516の処理を行う。
CPU201は、ステップS1509において、電子メールを送信すると決定された送信先のうち、ステップS1510以降の処理がまだ行われていない送信先を取得する。そして、CPU201は、電子メールに設定された送信先に、電子メール保留すると決定された送信先、送信制御処理を一時停止すると決定された送信先があるかを判定する(ステップS1510)。
ステップS1510の判定処理で、電子メール保留すると決定された送信先、送信制御処理を一時停止すると決定された送信先がある(YES)と判定した場合、CPU201は処理をステップS1511に進め、当該電子メールの本文に、当該電子メールがまだ送信されていない送信先がある旨の通知を追加する。この時、それら送信先を認識可能な通知を追加するようにする。
さらに、CPU201は、電子メールに、送信禁止と決定された送信先があるかを判定する(ステップS1512)。この判定処理で、送信禁止と決定された送信先がある(YES)と判定した場合、処理をステップS1513に進め、当該送信先を当該電子メールのメールヘッダから削除する。
尚、ステップS1510、S1511の処理の前に、ステップS1512、ステップS1513の処理を行うようにしても勿論構わない。
その後、当該電子メールは、図4のステップS404でサイズ結合された結合電子メールであるかを判定する(ステップS1514)。そしてこの判定処理でYESと判定した場合には、処理をステップS1515に進め、結合前のメールサイズをもとに、電子メールをサイズ分割する(結合電子メールのサイズ分割処理)。その後、ステップS1509で選択した送信先に対してサイズ分割電子メールを送信する処理を行う(ステップS1516)
上記の処理を終了後、CPU201は、送信制御処理が一時停止されていない送信先に対する当該電子メールの送信制御結果を、電子メール送信履歴DB2000に登録する。以上が、図14のステップS1412の電子メール送信制御実行処理の説明である。
図14の説明に戻る。ステップS1412の電子メール送信制御実行処理が終了した後、CPU201は処理をステップS1413に進め、送信制御処理の対象である電子メールに設定された送信先のうち、電子メールの送信が保留される送信先があるかを判定する。この判定処理でYESと判定した場合には、CPU201は処理をステップS1414に進め、当該電子メールの送信者及び監査者に対して保留された送信先がある旨の通知を行う。
また、CPU201は、ステップS1415において、送信制御処理の対象である電子メールに設定された送信先のうち、電子メールを送信禁止とされた送信先があるかを判定する。この判定処理で送信禁止の送信先がある(YES)と判定した場合には、処理をステップS1416に進め、CPU201は、送信が禁止された送信先がある旨の通知を送信者に対して行うことになる。尚、電子メールの送信が保留された送信先、送信が禁止された送信先が双方ある場合には、1通の通知電子メールでそれら送信先があることを当該電子メールの送信者に通知するようにしても(ステップS1414の処理とS1416の処理を一度に行っても)勿論構わない。
以上が、プロキシサーバ101のCPU201によって行われる電子メール送信制御処理の説明である。
次に、図16を参照して、第2の実施の形態における保留電子メール監査処理(図3のステップS306)について説明する。この処理をプロキシサーバ101のCPU201に実行させるためのプログラムは外部メモリ211等に記憶されており、本処理を実行する際に、CPU201は当該プログラムをRAM202にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
まず、CPU201は、ユーザの認証に用いるID、パスワード等をクライアント装置103より取得し、不図示のユーザテーブルに登録されているユーザ情報と照合することで、監査要求を行ってきたユーザを特定する(ユーザ特定処理:ステップS1601)。
ステップS1601のユーザ特定処理により、監査要求を行ってきたユーザを特定した後に、CPU201は、当該ユーザが監査すべき電子メールがあるかを判定する(ステップS1602)。CPU201は、保留電子メールDB2100に、監査者2103にステップS1601で特定されたユーザのユーザ情報が登録されているレコードがあるか否かにより、この判定を行う。ステップS1602の判定処理で、ステップS1601で特定されたユーザが監査すべき電子メールがない(NO)と判定した場合には、CPU201は処理をステップS1603に進め、当該ユーザに対して、監査対象の電子メールがない旨の通知を行い、本処理を終了する。
一方、ステップS1602の判定処理で、当該ユーザが監査すべき電子メールがある(YES)と判定した場合には、処理をステップS1604に進め、保留電子メールDB2100から当該ユーザの監査対象の(当該ユーザが監査すべき)保留電子メールを取得する。この時、当該ユーザのユーザ情報が監査者2103に登録されているレコードが示す保留電子メールを、当該ユーザの監査すべき電子メールとして取得することになる。そして、CPU201は、取得した保留電子メール一覧を含む画面情報を生成し(ステップS1605)、その画面情報を、監査要求を行ってきたユーザが使用するクライアント装置103に送信する(ステップS1606)。クライアント装置103のディスプレイ装置には、この画面情報に従って、図10に示す保留電子メール一覧画面1000が表示されることになる。
その後、CPU201は、クライアント装置103のディスプレイ装置に表示されている保留電子メール一覧画面中のいずれかの詳細ボタン1001−6に対する押下指示を受け付けることでクライアント装置103が発行する保留電子メールの詳細データ要求を受け付けたと判定すると(ステップS1607でYES)、処理をステップS1608に進め、指定された保留電子メールの詳細データを含む画面情報を生成する。画面情報の生成に際し、CPU201は、保留電子メールのメールIDをもとに、電子メール送信履歴DB2000を検索し、監査対象とされた保留電子メールと同一の電子メールの他の送信先に対する送信履歴情報を取得し、それら情報を含んだ画面情報を生成することになる。
ステップS1608で画面情報を作成後、その画面情報を、詳細データの要求を行ったクライアント装置103に対して送信する(ステップS1609)。クライアント装置103のディスプレイ装置には、ステップS1609で送信された画面情報に従って、図18に示す保留電子メール詳細確認画面1800が表示されることになる。
ここで、図18を参照して、図16のステップS1609で送信された画面情報を受信したクライアント装置103のディスプレイ装置に表示される、第2の実施の形態における保留電子メール詳細確認画面1800の構成の一例について説明する。
図18に示すように、保留電子メール詳細確認画面1800には、送信者(FROM)情報表示欄1801、TO情報表示欄1802、CC情報表示欄1803、BCC情報表示欄1804、件名表示欄1805、本文情報表示欄1806、添付ファイル情報表示欄1807、送信済み送信先表示欄1808、送信禁止送信先表示欄1809、監査入力欄1810、決定ボタン1815が設定されている。
また、監査入力欄1810には、監査対象(全送信先/個別)指定欄1811、全送信先監査入力欄1812、個別送信先監査入力欄1813、個別監査未入力送信先の監査入力欄1814が設定されている。
送信者(FROM)情報表示欄1801は、保留電子メールの送信者の情報を表示する表示欄であって、電子メールDB700の送信者(FROM)703に登録されている情報を表示する表示欄である。TO情報表示欄1802は、保留電子メールの送信先(TO)情報を表示する表示欄であって、電子メールDB700のTO704−1に登録されている情報を表示する表示欄である。CC情報表示欄1803は、保留電子メールの送信先(CC)情報を表示する表示欄であって、電子メールDB700のCC704−2に登録されている情報を表示する表示欄である。BCC情報表示欄1804は、保留電子メールの送信先(BCC)情報を表示する表示欄であって、電子メールDB700のBCC704−3に登録されている情報を表示する表示欄である。
件名情報表示欄1805は、保留電子メールの件名を表示する表示欄であって、電子メールDB700の件名705に登録されている情報を表示する表示欄である。本文情報表示欄1806は、保留電子メールの本文を表示する表示欄であって、電子メールDB700の本文706に登録されている情報を表示する表示欄である。添付ファイル情報表示欄1807は、当該保留電子メールに添付ファイルが設定されている場合に、そのファイル形式に応じてアイコンを表示する表示欄であって、電子メールDB700の添付707に登録されている情報を表示する表示欄である。この添付ファイル情報表示欄1807に表示されているアイコンに対するダブルクリック処理を行うと、ファイルの内容を確認することが可能である。
送信済み送信先表示欄1808は、当該電子メールに設定された送信先のうち、既に当該電子メールの送信処理が行われた送信先が表示される表示欄である。この図の場合、TOの設定されたzzzz@asdf.co.jpに対しては、この画面に表示された電子メールが既に送信されていることを意味している。
送信禁止送信先表示欄1809は、当該電子メールに設定された送信先のうち、既に当該電子メールを送信禁止とされた送信先が表示される表示欄である。この図の場合、この画面に表示された電子メールの送信が禁止された送信先がないことを意味している。
監査入力欄1810は、当該電子メールの送信が保留されている送信先それぞれについての監査情報(「送信」または「送信禁止」)の入力を受け付ける受付欄である。
監査対象(全送信先/個別)指定欄1811は、保留されている全送信先に対して一括で監査入力を行うか(全送信先)、それとも個々の送信先ごとに監査入力を行うか(個別)の指定の入力を受け付ける受付欄である。
全送信先監査入力欄1812は、当該電子メールの送信が保留されている全送信先に対して一括で監査入力を受け付けるに用いられる入力欄である。この全送信先監査入力欄1812は、監査対象(全送信先/個別)指定欄1811で「全送信先」が指定された場合に有効となり、監査情報の入力を受け付けることが可能となる。
個別送信先監査入力欄1813は、当該電子メールの送信が保留されている個々送信先に対して、監査入力を受け付けるために用いられる入力欄である。この個別送信先監査入力欄1813は、監査対象(全送信先/個別)指定欄1811で「個別」が指定された場合に有効となり、それぞれの送信先ごとに監査情報の入力を受け付けることが可能である。このようにすることで、1つの電子メールに設定されている送信先に対して異なる監査情報の入力を行うことが可能である。
個別監査未入力送信先の監査入力欄1814は、当該電子メールの送信が保留されている送信先のうち、個別送信先監査入力欄に監査情報が入力されていない送信先に対する監査入力を受け付けるために用いられる入力欄である。この個別監査未入力送信先の監査入力欄1814も、監査対象(全送信先/個別)指定欄1811で「個別」が指定された場合に有効となる。このような入力欄を備えることで、個別に監査入力を行う際にも、例外的な監査を行う送信先に対してのみ個別送信先監査入力欄1813で監査の入力を行い、それ以外の送信先に対しては、個別監査未入力送信先の監査入力欄1814に対して監査入力を行うことが可能となり、よって、個々の送信先ごとに監査入力を行う場合に、処理の効率を高めることが可能となる。
決定ボタン1815は、この保留電子メール詳細確認画面1800を介して入力された監査情報を確定するために用いられるボタンである。尚、監査入力が行われなかった送信先に対する電子メールは、保留状態が継続されることになる。
以上が、図18の保留電子メール詳細確認画面1800の構成の一例の説明である。
図16の説明に戻る。ステップS1609で画面情報を送信した後、プロキシサーバ101のCPU201は、当該送信した画面情報に基づきクライアント装置103のディスプレイ装置に表示された保留電子メール詳細確認画面1800を介して入力された個々の送信先に対する監査の入力を、該クライアント装置103より受け付けることになる(ステップS1610)。
一方、ステップS1607の判定処理で、クライアント装置103から、保留電子メールの送信要求を受け付けていない(NO)と判定した場合には、処理をステップS1611に進め、保留電子メール一覧画面1000の監査対象メール選択チェックボックス1001−1のチェックの有無による監査対象の電子メールの指定、及び、送信ボタン1002、または送信禁止ボタン1003に対する押下指示を受け付けることにより、監査の入力を受け付ける(ステップS1611、ステップS1612)。尚、この画面を介して監査の入力がされた場合には、当該保留電子メールに設定されている全ての送信が保留されている送信先に対して、同一の監査入力がなされることになる。
ステップS1610、及び、ステップS1612により、監査情報の入力を受け付けると、CPU201は処理をステップS1613に移行させ、保留電子メール送信制御実行処理を実行することになる。この処理の詳細については、図17を参照して説明する。
そして、ステップS1606からステップS1613の処理を、監査処理を終了する(ステップS1614でYES)と判定するまで行うことになる。CPU201は、当該ユーザが監査すべき全ての保留電子メールに対する監査入力を受け付けた場合や、保留電子メール一覧表示画面の表示が終了した場合に、監査処理を終了すると判定することになる。
以上が、第2の実施の形態における保留電子メール監査処理(図3のステップS306)の説明である。
次に、図17を参照して、図16のステップS1613の保留電子メール送信制御実行処理の詳細について説明する。本処理をプロキシサーバ101のCPU201に実行させるためのプログラムは、外部メモリ211等に記憶されており、本図に示す処理を実行するに際し、CPU201は当該プログラムをRAM202にロードし、ロードしたプログラムによる制御に従って本図に示す処理を行うことになる。
CPU201は、図16のステップS1610及びS1612で監査入力を受け付けた全ての送信先に対してステップS1701〜S1714の処理を行う。
まず、CPU201は、監査入力を受け付けた電子メールのうち、本図に示す処理を実行していない電子メールを取得する(ステップS1701)。そして、取得した電子メールに設定されている送信先のうち、監査入力を受け付けた送信先についてステップS1702〜S1714の処理を行う。
CPU201は、ステップS1702において、ステップS1701で選択を受け付けた電子メールに設定されている送信先であって、監査の入力を受け付けた送信先のうち、本処理を終了していない送信先を取得する。そして、ステップS1702で取得した送信先に対する電子メールの監査入力(動作入力)が「送信」であるかそれとも「送信禁止」であるかを判定する(ステップS1703)。
ステップS1703の判定処理で、受け付けた監査入力が「送信」であると判定した場合には、処理をステップS1704に進め、ステップS1702で選択した送信先に対して、ステップS1701で取得した電子メールを送信する(電子メールの送信処理)。この時、当該電子メールに設定されている送信先に、当該電子メールの送信が禁止された送信先(保留→送信禁止を含む)が含まれる場合には、当該送信禁止の送信先を電子メールのメールヘッダから削除する。また、当該電子メールに設定されている送信先に、まだ保留中である送信先や、送信制御が一時停止されている送信先がある場合には、その旨の通知を電子メールの本文に追加することになる。
その後、ステップS1704で送信処理を実行した電子メールのメールIDと送信先に対応する一時停止電子メールがあるかを、一時停止電子メールDB2200を検索し、判定する(ステップS1705)。CPU201は、S1704で送信処理を実行した電子メールのメールID、送信先がそれぞれ元メールID2205、送信先2202に登録されているレコードが示す電子メールをステップS1704で送信処理を実行した電子メールのメールIDと送信先に対応する一時停止電子メールとすることになる。
ステップS1705の判定処理で、一時停止電子メールがある(YES)と判定した場合、CPU201は処理をステップS1706に進め、その一時停止電子メールの一時停止状態を解除し、当該一時停止電子メールに対して、図15に示す電子メール送信制御実行処理を行う。
CPU201は、一時停止電子メールに対する電子メール送信制御実行処理(ステップS1706)が終了後、当該一時停止電子メールを一時停止電子メールDB2200から削除する(ステップS1707)。
ステップS1703の判定処理で受け付けた監査入力が「送信禁止」であると判定した場合には、CPU201は処理をステップS1708に進め、監査入力を受け付けた電子メールと同じメールIDを持つ保留電子メールが保留電子メールDB2100にあるかを判定する。
ステップS1708の判定処理で、監査入力を受け付けた電子メールと同じメールIDを持つ保留電子メールが保留電子メールDB2100にある(YES)と判定した場合には、処理をステップS1709に進め、その保留電子メールのメールヘッダから、送信禁止の監査入力を受け付けた送信先を削除する。
ステップS1708でNOと判定した後、及びステップS1709の処理が終了した後に、CPU201は、ステップS1701で取得した電子メールのメールIDがメールID2201に、ステップS1702で選択した送信先が送信先2202に登録された一時停止電子メールが一時停止電子メールDB2200中にあるかを判定する(関連一時停止電子メールリストあり?ステップS1710)。
ステップS1710の判定処理で、上記のような一時停止電子メールがある(YES)と判定した場合には、CPU201は処理をステップS1711に進め、当該一時停止電子メールを送信禁止の電子メールに設定する(一時停止電子メールの送信禁止処理)。その際には、当該一時停止電子メールの送信履歴情報を電子メール送信履歴DB2000中に作成し、その送信制御結果2003は送信禁止を設定することになる。ステップS1711の処理終了後、一時停止電子メールDB2200から当該一時停止電子メールを削除する(ステップS1712)。
ステップS1707、及び、ステップS1712の処理が終了後、CPU201は処理をステップS1713に進め、監査入力を受け付けた電子メールの当該送信先に対する送信履歴情報を更新する。そして、保留電子メールDB2100中の、その電子メールに関するレコードを削除する(ステップS1714)。
CPU201は、上記のステップS1701〜S1714の処理を、監査入力を受け付けた全ての保留電子メールに対して実行する。全ての保留電子メールに対する本処理を終了したと判定すると、本図に示す処理を終了する。
次に、図24を参照して、第2の実施の形態におけるプロキシサーバ101の機能構成について説明する。
図24に示すように、プロキシサーバ101は、送信制御ルール記憶部2401、電子メール取得部2402、電子メール記憶部2403、保留電子メール記憶部2404、電子メール結合部2405、電子メール分割部2406、同一電子メール有無判定部2407、条件合致判定部2408、電子メール送信制御処理実行部2409、監査受付部2410、一時停止電子メール記憶部2411、送信制御結果記憶部2412、関連電子メール有無判定部2413等を備えて構成されている。
送信制御ルール記憶部2401は、図19に示す送信制御ルールDB1900を記憶する機能部である。電子メール取得部2402は、クライアント装置103やメールサーバ102から送信された電子メールを取得する機能部である。
電子メール記憶部2403は、電子メール取得部2402が取得した電子メールを記憶する記憶部であり、図7に示す電子メールDB700を記憶、管理する。保留電子メール記憶部2404は、後述する電子メール送信制御処理実行部2409による送信制御処理の結果、送信が保留された電子メールを記憶する記憶部であり、図21に示す保留電子メールDB2100を記憶、管理する。
電子メール結合部2405は、後述する同一電子メール有無判定部2407で、電子メールDB700に同一のメールIDを有する電子メールがあると判定された場合に、同一のメールIDを有する電子メールのエンベロープを結合し、1つの電子メールにしたり、サイズ分割された電子メールを1つの電子メールに結合したりする機能部である。電子メール分割部2406は、電子メール結合部2405により結合された結合電子メールを、当該結合電子メールの送信前に結合前のサイズを基準に再分割したり、複数の送信先を有する電子メールをエンベロープ分割したりする機能部である。
同一電子メール有無判定部2407は、電子メール取得部2402が取得した電子メールと同一のメールIDを有する電子メールが電子メールDB700に記憶されているかを判定する機能部である。条件合致判定部2408は、送信制御処理の対象となる電子メールが、送信制御ルールに設定されている条件に合致するか否かを判定する機能部である。電子メール送信制御処理実行部2409は、条件合致判定部2408により設定されている条件に合致したと判定した送信制御ルールに設定されている動作に従って、電子メールの送信制御を行う機能部である。
監査受付部2410は、保留電子メールDB2100に記憶されている保留電子メールに対する監査情報(送信、送信禁止)の入力を受け付ける機能部である。
一時停止電子メール記憶部2411は、一時停止電子メールを記憶する記憶部であり、一時停止電子メールDB2200を記憶、管理する。送信制御結果記憶部2412は、電子メールに対する送信制御処理の結果を記憶する機能部であって、電子メールに対する送信制御処理の結果を図20に示す電子メール送信履歴DB2000により記憶、管理する。
関連電子メール有無判定部2413は、送信制御対象の電子メールに関連する電子メールや、監査入力を受け付けた電子メールに関連する電子メールが一時停止電子メールDB2200や保留電子メールDB2100に含まれているかを判定する機能部である。
以上が、第2の実施形態におけるプロキシサーバ101の機能構成の一例の説明である。
上記のような構成をとることで、1通の電子メールに設定された複数の送信先それぞれに対する電子メールの送信制御を異ならせることが可能になる。
また、1通の電子メールに設定された複数の送信先それぞれに対する当該電子メールの送信制御を異ならせるようにしても、一部送信先に対する送信が保留された電子メールよりも先に、当該電子メールの返信メールが、当該一部送信先に先に到着してしまうという問題や、電子メールの送信が禁止された送信先に対して、当該電子メールの返信メールが送信されてしまうという問題を発生させないようにすることが可能になる。
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。