【文献】
池田 典正,オンラインソフトウェアガイド第7回,Visual Basic magazine 第5巻 第2号,日本,株式会社翔泳社,1998年11月 1日,第5巻,第115-117頁
(58)【調査した分野】(Int.Cl.,DB名)
前記添付ファイルの数が複数ある場合に、前記添付ファイル同士の組み合わせであって、合計データサイズが、前記上限サイズに収まる添付ファイルの組み合わせがあるか否かを判定する組み合わせ判定手段と
を備え、
前記添付手段は、前記組み合わせ判定手段で前記上限サイズに収まる組み合わせがあると判定した場合に、前記組み合わせに含まれる添付ファイルを第2の電子メールに添付することを特徴とする請求項1又は2に記載の情報処理装置。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施形態を詳細に説明する。まず、
図1を参照して、本発明の実施形態における、情報処理装置を含むシステム構成の一例について説明する。
図1は、本発明の実施形態における、情報処理装置を含むシステム構成の一例を示す図である。尚、ここでいう情報処理装置とはサーバ200のことである。
【0011】
図1に示す通り、本発明の実施形態における、情報処理装置を含むシステムは、クライアントPC100、LAN101、サーバ200、WAN102、サーバ220、PC120等を備えて構成されている。
【0012】
クライアントPC100は、電子メールを生成し、サーバ200に送信する。LAN101は、クライアントPC100とサーバ200を通信可能に接続する。尚、クライアントPC100とサーバ200との通信は、必ずしも、LAN101による通信でなくともよい。例えばWAN等であってもよい。
【0013】
サーバ200は、クライアントPC100より電子メール、また、電子メールに添付された添付ファイルを受信し、送信先毎の閾値に基づいて、当該電子メール、添付ファイルを、送信先毎のメール受信上限サイズに分割し、送信先に送信する。つまり、電子メールの送受信機能を有する。
【0014】
WAN102は、サーバ200とサーバ200から送信された電子メールを受信するサーバ220とを通信可能に接続する。サーバ220は、200から送信された電子メールを受信し、PC120からの要求に応じて、当該電子メールを提供する。
【0015】
PC120は、サーバ220が受信している電子メールを取得し、結合、復号する。尚、当該電子メールの結合、復号処理は必ずしもPC120の処理によらずともよい。例えば、サーバ220が当該電子メールの結合、復号処理を行うようにしてもよい。以上が
図1の、本発明の実施形態における、情報処理装置を含むシステム構成の一例についての説明である。
【0016】
次に
図2を参照して、本発明の実施形態における各種装置のハードウエア構成の一例について説明する。
図1は、本発明の実施形態における各種装置のハードウエア構成の一例を示す図である。
【0017】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0018】
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(BasIC Input Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要は後述する各種プログラム等が記憶されている。
【0019】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0020】
また、入力コントローラ205は、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。ビデオコントローラ206は、CRTディスプレイ(CRT)210等の表示機への表示を制御する。なお、
図2では、CRT210と記載しているが、表示機はCRTだけではなく、液晶ディスプレイ等の他の表示機であってもよい。
【0021】
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HDD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0022】
通信I/Fコントローラ208は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0023】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0024】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されている。以上が、
図2に示す、本発明の実施形態における各種装置のハードウエア構成の一例についての説明である。
【0025】
次に
図3を参照して、本発明の実施形態における各種装置の機能構成の一例について説明する。
図3は、本発明の実施形態における各種装置の機能構成の一例を示す図である。
【0026】
図3に示すように、クライアントPC100は、電子メール送信部311等から構成される。また、サーバ200は、電子メール送受信部321、閾値判定部322、分割判定部323、電子メール分割部324、結合用ファイル生成部325、結合用ファイル送信部326等から構成される。
【0027】
クライアントPC100の電子メール送信部311は、サーバ200に電子メールを送信する送信部である。
【0028】
サーバ200の電子メール送受信部321は、クライアントPC100、外部の電子メールサーバ等から電子メールを受信し、クライアントPC100、外部の電子メールサーバ等に電子メールを送信する送受信部である。
【0029】
閾値判定部322は、送信先毎に特定される、過去の電子メールの分割サイズから、電子メールを分割する際の閾値を判定する判定部である。
【0030】
分割判定部323は、前記閾値判定部322で判定した閾値に基づいて、電子メールの分割、添付ファイルの分割を行うか否かを判定する判定部である。電子メール分割部324は、前記閾値判定部322で判定した閾値に基づいて電子メール、電子メールに添付された添付ファイルをを分割する分割部である。
【0031】
結合用ファイル生成部325は、電子メール分割部324で分割した電子メール、添付ファイルを結合するためのファイルである結合用ファイルを生成する生成部である。
【0032】
結合用ファイル送信部326は、前記結合用ファイル生成部325で生成した結合用ファイルを、分割した電子メールである分割電子メールの送信先に送信する送信部である。以上が
図3の、本発明の実施形態における各種装置の機能構成の一例についての説明である。
【0033】
次に
図4を参照して、本発明の実施形態における、電子メール送信処理の概要について説明する。
図4は、発明の実施形態における、電子メール分割処理の詳細を示すフローチャートである。
【0034】
クライアントPC100のCPU201は、ユーザからの指示に基づいて電子メールを生成し(ステップS401)、当該電子メールをサーバ200に対し送信する(ステップS402)。
【0035】
サーバ200のCPU201は、当該電子メールを受信し(ステップS403)、メール分割処理を実行する(ステップS404)。メール分割処理(ステップS404)の詳細については、
図5の説明にて後述する。
【0036】
ここで
図5を参照して、本発明の実施形態における、電子メール分割処理の詳細について説明する。
図5は、本発明の実施形態における、電子メール分割処理の詳細を示すフローチャートである。
【0037】
サーバ200のCPU201は、
図4のステップS403で受信した電子メールに設定されたFrom情報、To情報、Subject情報、および内蔵時計から取得したDate情報を基に、電子メールヘッダ800を作成する(ステップS501)。
【0038】
電子メールヘッダ800とは、例えば
図8に示すようなデータである。電子メールヘッダについては、
図8の説明にて後述する。
【0039】
ここで
図8を参照して、本発明の実施形態における、電子メールヘッダの構成の一例について説明する。
図8は、本発明の実施形態における、電子メールヘッダの構成の一例を示す図である。
【0040】
図8に示す通り、電子メールヘッダ800は、送信元(From)801、送信先(To)802、ドメイン803、件名804、メッセージID(Message−Id)805、返信元メッセージID(In−reply−to)806等から構成されている。
【0041】
送信元801は、当該電子メールヘッダ800の作成元である電子メールの送信元の電子メールアドレスである。送信先802は、当該電子メールの送信先の電子メールアドレスである。
【0042】
ドメイン803は、メールアドレスのドメインである。件名804は、当該電子メールの件名である。メッセージID805は、当該電子メールを一意に識別するための識別情報である。
【0043】
返信元メッセージID806は、当該電子メールが、いずれの電子メールに対する返信メールであるかを特定するための識別情報であって、当該電子メールヘッダ800の作成元である電子メールの返信元の電子メールのメッセージIDである。以上が
図8の、本発明の実施形態における、電子メールヘッダの構成の一例について説明である。
【0044】
図5の説明に戻る。サーバ200のCPU201は、電子メールを送信先に送信することが可能な文字データに変換するために、BASE64変換を行う。(ステップS502)。
【0045】
サーバ200のCPU201は、
図8の電子メールヘッダ800に記載されたTo情報のドメイン803を取得し(請求項中の送信先取得手段に該当)、当該ドメインに対応するメールサイズの閾値が、閾値テーブル600に記憶されているか否かを判定する(ステップS503)。つまり、閾値602を取得可能か否かを判定する上限サイズ取得可否判定手段に該当。閾値テーブル600については、
図6の説明にて後述する。
【0046】
ここで
図6を参照して、本発明の実施形態における、閾値テーブルの構成の一例について説明する。
図6は、本発明の実施形態における、閾値テーブルの構成の一例を示す図である。
【0047】
図6に示す通り、閾値テーブル600は、ドメイン601、閾値602等から構成されている。また、一律閾値テーブル610は、ドメイン611、閾値612等から構成されている。
【0048】
閾値テーブル600のドメイン601は、メールを分割送信する際の送信先のドメインである。閾値602は、当該ドメインを含む電子メールアドレスに対するメールの分割サイズの閾値である。つまり、当該ドメイン601を含む送信先が、一度に受信可能なデータサイズである上限サイズである。
【0049】
尚、本発明の実施形態においては、当該ドメイン601、閾値602は、メールの送受信履歴から取得するものである。つまり、過去に同ドメインの送信先に送信した電子メールの、送信先側の受信可能サイズを、電子メールの送信履歴から取得し、閾値テーブル600に設定する。(請求項中の第1の上限サイズ設定手段に該当)電子メールの送信履歴については
図10を参照して後述する。
【0050】
一律閾値テーブル610は、
図5のステップS501で生成した電子メールヘッダ800の送信先801が、送信先毎の上限サイズが設定されている閾値テーブル600のドメイン601に含まれていなかった場合に参照する、送信先を区別しない一律の上限サイズが設定されたテーブルである。
【0051】
一律閾値テーブル610のドメイン611では、閾値612を適用されるドメインの指定がされず、どの送信先に対しても、一律に、閾値612を適用することを示している。閾値612は、メールの分割サイズの閾値である。本発明の実施形態においては、当該一律閾値テーブル610は、クライアントPC100を介して、ユーザの手動操作に基づいて、既に設定されているものとする(請求項中の第2の上限サイズ設定手段に該当)。
【0052】
また、本発明の実施形態においてはドメイン毎に閾値602を記憶しているが、閾値602の記憶形態は必ずしもこれに限るものではない。
【0053】
例えば、送信先の電子メールアドレス毎に閾値602を設定してもよいし、送信先の電子メールアドレスが属するグループ毎に閾値602を設定してもよい。以上が
図6の、本発明の実施形態における、閾値テーブルの構成の一例についての説明である。
【0054】
ここで
図10を参照して、本発明の実施形態における、電子メールの送信履歴テーブルの構成の一例について説明する。
図10は、本発明の実施形態における、電子メールの送信履歴テーブルの構成の一例を示す図である。
【0055】
図10に示す通り、送信履歴テーブル1000は、送信先1001、送信日時1002、分割サイズ1003等から構成されている。当該送信理例テーブル1000は、クライアントPC100の外部メモリ211か、サーバ200の外部メモリ211、又はその両方に記憶されているものとする。送信先1001は、電子メールを送信した送信先である。
【0056】
送信日時1002は、電子メールを送信した日時である。分割サイズ1003は、当該送信先1001に電子メールを送信した際に、当該送信先に電子メールを受信させるべく、当該電子メールを分割したサイズである。
【0057】
尚、
図6の閾値テーブル600には、送信履歴テーブル1000の送信先のドメイン、及び分割サイズの最小値を抽出し、設定するものとする。例えば、ドメインが“aaa.co.jp”の送信先1001に対応した分割サイズ1003の最小値は2MBであるため、
図6のドメイン601=“aaa.co.jp”に対応する閾値602は2MBに設定される。
【0058】
尚、例えば一定期間、送信履歴テーブル1000に記憶される送信先1001毎の分割サイズ1003が3MBと記憶されている場合、当該閾値602の値を2MBから3MBに変更するようにしてもよい。また、当該分割サイズの最小値の抽出及び設定の処理は、履歴の更新に伴って自動で行うようにしても良いし、ユーザの手動操作に基づいて設定するようにしても良い。以上が
図10の、本発明の実施形態における、電子メールの送信履歴テーブルの構成の一例についての説明である。
【0059】
図5に戻る。サーバ200のCPU201は、当該ドメイン803と同一のドメイン601が閾値テーブル600に記憶されていると判定した場合(ステップS503でYES)、当該ドメイン601に対応する閾値602を取得する(ステップS504)。つまり、請求項中の上限サイズ取得手段に該当する。
【0060】
ドメイン803と同一のドメイン601が閾値テーブル600に記憶されていないと判定した場合、(ステップS503でNO)、つまり、閾値テーブル600から、ドメイン803と同一のドメイン601、乃至、ドメイン601に対応した閾値602を取得不可であった場合、処理をステップS510に移行し、当該電子メールの送信側のメーラ等で設定されている分割サイズの閾値を取得する(ステップS512)。つまり、一律閾値テーブル610の閾値612を取得する。
【0061】
サーバ200のCPU201は、電子メールのサイズを取得し(ステップS505)、当該電子メールに添付ファイルが添付されているか否かを判定する(ステップS506)。つまり、請求項中の添付ファイル判定手段に該当。
【0062】
添付ファイルが添付されていないと判定した場合(ステップS506でNO)、電子メールのサイズが閾値602、またはステップS512で取得した閾値をクリアしている否かを判定し(ステップS507)、電子メールのサイズ(添付ファイルの添付されていない電子メールのサイズ)が閾値602、またはステップS512で取得した閾値をクリアしていると判定した場合(ステップS507でYES)、電子メールの分割処理を実行せずに処理を終了する。
【0063】
電子メールのサイズが閾値602、またはステップS512で取得した閾値をクリアしていないと判定した場合(ステップS507でNO)、電子メールを閾値602に収まるよう分割する(ステップS508)。
【0064】
閾値をクリアする状態とは、電子メールのサイズが閾値以下、又は、電子メールのサイズが閾値より小さい状態である。電子メールのサイズが閾値以下である状態と、電子メールのサイズが閾値より小さい状態とのいずれを前記閾値をクリアする状態とするかは装置側の設定によるものとする。
【0065】
サーバ200のCPU201は通番付のメールヘッダを生成し(ステップS510)、サーバ200のCPU201は、当該電子メールの全ての送信先に対して、ステップS501〜ステップS514までの処理を適用済か否かを判定する(ステップS511)。
【0066】
適用済と判定した場合は(ステップS511でYES)処理を終了する。適用済でないと判定した場合は(ステップS511でNO)、処理をステップS501の前に戻し、別の電子メールに対してステップS501〜S514の処理を適用する。
【0067】
サーバ200のCPU201は、当該電子メールに添付ファイルが添付されていると判定した場合(ステップS506でYES)、処理をステップS513に移行し、添付ファイルが添付されている電子メールの分割処理を実行する(ステップS513)。添付ファイルが添付されている電子メールの分割処理(ステップS513)の詳細については、
図9の説明にて後述する。
【0068】
ここで
図9を参照して、本発明の実施形態における、添付ファイルが添付されている電子メールの分割処理の詳細について説明する。
図9は、本発明の実施形態における、添付ファイルが添付されている電子メールの分割処理の詳細を示すフローチャートである。
【0069】
サーバ200のCPU201は、添付ファイルのサイズを取得し(ステップS901/請求項中のファイルサイズ取得手段に該当)、添付ファイルが複数添付されているか否かを判定する(ステップS902)。つまり、請求項中のファイル数判定手段に該当。
【0070】
添付ファイルが複数添付されていないと判定した場合(ステップS902でNO)、サーバ200のCPU201は、電子メールサイズと添付ファイルサイズとの合計が閾値602をクリアしているか否かを判定する(ステップS910/メールサイズ判定手段)。
【0071】
電子メールサイズと添付ファイルサイズとの合計が閾値602をクリアしていると判定した場合(ステップS910でYES)、分割処理を実行せずに処理を終了する。電子メールサイズと添付ファイルサイズとの合計が閾値602をクリアしていないと判定した場合(ステップS910でNO)、添付ファイルサイズが閾値602をクリアしているか否かを判定する(ステップS911)。
【0072】
サーバ200のCPU201は、添付ファイルサイズが閾値602をクリアしていると判定した場合(ステップS911でYES)、当該添付ファイルは分割せず、空メールを生成して(ステップS906/請求項中の空メール生成手段に該当)当該空メールに添付ファイルを添付する(ステップS907)。
【0073】
添付ファイルサイズが閾値602をクリアしていないと判定した場合(ステップS911でNO)、電子メールと添付ファイルを合わせて分割する(ステップS917)。ここでいう“電子メールと添付ファイルを合わせて分割する”とは、例えば、閾値602=2MBで、電子メール(本文)が50KB、添付ファイルが3MBの電子メールと添付ファイルを、閾値602(2MB)をクリアさせるべく、2つの組であって、電子メール=25KBと添付ファイル=1.5MBとの組に分割することをいう。以下、“電子メールと添付ファイルを合わせて分割する”と記載した場合、上述の内容を示すものとする。
【0074】
ここで
図7を参照して、本発明の実施形態における、電子メール分割処理の様子について説明する。
図7は、本発明の実施形態における、電子メール分割処理の様子を示す図である。
【0075】
送信データ700は、分割前の電子メール、及び添付ファイルである分割前送信データである。送信データ710は、本発明における電子メールの分割処理を施した送信データである。送信データ720は、従来の電子メールの分割処理を施した送信データである。
【0076】
サーバ200のCPU201は、閾値テーブル600から閾値602を取得する。ここでは当該閾値602が2MBであるものとする。また、送信データ700における電子メールのサイズは60KB、添付ファイル(単一)のサイズは1.96MBであるものとする。
【0077】
送信データ700に従来の電子メールの分割処理を適用した場合、例えば、電子メールと添付ファイルを合わせて、閾値602をクリアするよう分割した場合、送信データ720のように、電子メールと添付ファイルの両方が分割されることとなる。
【0078】
本発明においては、サーバ200のCPU201は、添付ファイルのサイズ(1.96MB)が閾値602(2MB)をクリアしている場合、送信データ710に示すように、添付ファイルを分割せず、サイズの小さい空メールに添付し、電子メール本文と個別化させる。つまり、当該個別化とは、電子メール本文と添付ファイルを別々にすることである。
【0079】
よって、厳密に言えば、添付ファイルのサイズ(1.96MB)が閾値602(2MB)をクリアしているか否かの判定は、添付ファイルのサイズ(1.96MB)+空メールのサイズ(ここでは5KB)が閾値602(2MB)をクリアしているか否かの判定であるといえる。つまり、空メールと添付ファイルの合計データサイズが、閾値を下回っているか否かを判定するものである。
【0080】
また、閾値602(2MB)を予め、空メールのサイズ分減じておいてもよい。メール本文が閾値602をクリアしていない場合は、メール本文のみを分割するものとする。
【0081】
こうすることで、余分な分割処理をすることなく、電子メールを送信先に送信することが出来る。
【0082】
また、添付ファイルが分割されていることにより生じる復号ミスを防止することが出来る。
【0083】
以上が
図7の、本発明の実施形態における、電子メール分割処理の様子についての説明である。
【0084】
図9の説明に戻る。サーバ200のCPU201は、ステップS902において、添付ファイルが複数添付されていると判定した場合(ステップS902でYES)、当該添付ファイルの数が上限数以内かを判定する(ステップS916)。つまり、請求項中の上限超過判定手段に該当。
【0085】
つまり、大量の添付ファイルが電子メールに添付されている場合、閾値602をクリアする添付ファイルの組み合わせの算出処理により処理負荷が高くなってしまうため、上限以上の添付ファイルが添付されている場合は、閾値602をクリアする添付ファイルの組み合わせの算出を行わず、処理をステップS917に進めるものである。
【0086】
尚、ここでは上限“以内”か否かという判定をしているが、例えば、上限数を“超えるか”の判定であってもよい。また、当該上限数は予めクライアントPC100乃至サーバ200の外部メモリ211等の記憶装置に記憶されているものとする。尚、当該上限は、後述するステップS905で行う、閾値602をクリアする添付ファイルの組み合わせが存在するか否かの判定処理の複雑化を防止するために設けられているものとする。
【0087】
当該添付ファイルの数が上限数以内でないと判定した場合(ステップS916でNO)、処理をステップS917に移行し、通常通り、電子メールと添付ファイルを合わせて分割する(ステップS917)。
【0088】
当該添付ファイルの数が上限数以内であると判定した場合(ステップS916でYES)、全ての添付ファイルの合計サイズが閾値602をクリアしているか否かを判定する(ステップS903/メールサイズ判定手段)。
【0089】
全ての添付ファイルの合計サイズが閾値602をクリアしていると判定した場合(ステップS903でYES)、サーバ200のCPU201は、送信データの分割処理を行わずに処理を終了する。
【0090】
全ての添付ファイルの合計サイズが閾値602をクリアしていないと判定した場合(ステップS903でNO)、閾値602をクリアしている添付ファイルが存在するか否かを判定する(ステップS904/ファイルサイズ判定手段)。例えば、添付ファイルの中から1つのファイルを取得し、当該取得したファイルとの組み合せであって、当該閾値602をクリアする他のファイルとの組み合わせが存在するか否かを判定する。
【0091】
また、添付ファイルのサイズ(1.96MB)が閾値602(2MB)をクリアしているか否かの判定にあたり、添付ファイルのサイズ(1.96MB)+空メールのサイズ(ここでは5KB)が閾値602(2MB)をクリアしているか否かの判定を行う場合、最初に、ステップS805で取得したメールサイズの電子メール(本来、添付ファイルが添付されていた電子メール)のサイズ+添付ファイルのサイズとの合計サイズで、閾値602(2MB)をクリアしているサイズが有るか否かを同ステップで判定する。存在する場合は、(ステップS904でYES)、処理をステップS905へ、存在しない場合は、継続して、添付ファイルのサイズ(1.96MB)+空メールのサイズ(ここでは5KB)が閾値602(2MB)をクリアしているか否かの判定を行う。
【0092】
閾値602をクリアしている添付ファイルが存在しないと判定した場合(ステップS904でNO)、サーバ200のCPU201は、電子メールと添付ファイルを合わせて分割する(ステップS917)。つまり、
図7の送信データ720のように分割する。
【0093】
閾値602をクリアしている添付ファイルが存在すると判定した場合(ステップS904でYES)、添付ファイル同士の、当該閾値602をクリアする組み合わせが存在するか否かを判定する(ステップS905)。
【0094】
例えば、閾値が2MBの送信先に対して、1.0MB、1.3MB、0.9MBの3つの添付ファイルが添付された電子メールを送信する場合、1.0MBのファイルと、0.9MBのファイルを組み合わせると前記閾値をクリアするため、閾値をクリアする組み合わせが存在するものと判定する。
【0095】
サーバ200のCPU201は、当該閾値602をクリアする組み合わせが存在すると判定した場合(ステップS905でYES)、それらの添付ファイルを組み合わせ(ステップS912)、当該組み合わせの数だけ空メールを生成する(ステップS913/請求項中の空メール生成手段に該当)。
【0096】
サーバ200のCPU201は、ステップS912で組み合わせた添付ファイルを空メールに添付し(ステップS914)、電子メールに添付された全ての添付ファイルに対する、空メールへの添付、乃至分割処理が終了したか否かを判定する(ステップS915)。
【0097】
尚、ステップS904で、ステップS805で取得したメールサイズの電子メール(本来、添付ファイルが添付されていた電子メール)のサイズ+添付ファイルのサイズとの合計サイズで、閾値602(2MB)をクリアしているサイズが有ると判定されていた場合、サーバ200のCPU201は、ステップS906とS907、及びS913とS914の処理を実行するにあたり、まず、前記ステップS805で取得したメールサイズの電子メールを取得して、ステップS904で閾値602(2MB)をクリアしていると判定された、電子メールとの組み合せに用いられた添付ファイルを当該電子メールに添付する。その後、前記組み合わせ数分空メールを生成し、それぞれの組み合わせの示すファイルをそれぞれの空メールに添付する処理を行う。
【0098】
電子メールに添付された全ての添付ファイルに対する、空メールへの添付、乃至分割処理が終了していないと判定した場合(ステップS915でNO)、処理をステップS901の前に戻す。
【0099】
電子メールに添付された全ての添付ファイルに対する、空メールへの添付、乃至分割処理が終了したと判定した場合(ステップS915でYES)、電子メールのサイズが閾値602をクリアしているか否かを判定する(ステップS908)。
【0100】
電子メールのサイズが閾値602をクリアしていないと判定した場合(ステップS908でNO)、当該電子メールを閾値602に基づいて分割する(ステップS909)。
【0101】
電子メールのサイズが閾値602をクリアしていると判定した場合(ステップS908でYES)、当該電子メールを分割せず、処理を終了する。
【0102】
サーバ200のCPU201は、当該閾値602をクリアする組み合わせが存在しないと判定した場合(ステップS905でNO)、当該閾値602をクリアしている添付ファイル数分空メールを生成し(ステップS906)、当該添付ファイルを当該空メールに添付し(ステップS907)、処理をステップS908に移行する。
【0103】
尚、ステップS916の判定は、前述したように、添付ファイルの数が増えるのに比例して、前記組み合わせの数が増加することにより生じる、適切な組み合わせの判断に要する時間、装置への処理負荷を削減するために、上限を超えた場合は無条件に閾値で案分するためのものである。以上が
図9の、本発明の実施形態における、添付ファイルが添付されている電子メールの分割処理の詳細についての説明である。
【0104】
図5の説明に戻る。サーバ200のCPU201は、当該電子メールが分割、乃至、添付ファイルと個別化されたか否かを判定し(ステップS514)、当該電子メールが分割、乃至、添付ファイルと個別化されていないと判定した場合(ステップS514でNO)、処理を終了する。
【0105】
当該電子メールが分割、乃至、添付ファイルと個別化されていると判定した場合(ステップS514でYES)、処理をステップS509に移行し、分割した送信データを復号するための通番を結合用ファイルであるバッチファイルを生成する(ステップS509)。そして、処理をステップS510に移行する。以上が
図5の、本発明の実施形態における、電子メール分割処理の詳細についての説明である。
【0106】
バッチファイルは、分割されて当該電子メールに添付された添付ファイルを結合するためのコマンドが設定されたファイルである。バッチファイルとは、例えば
図11のバッチファイル1100のようなファイルである。
【0107】
ここで
図11を参照して、本発明の実施形態における、バッチファイルの構成の一例について説明する。
図11は、本発明の実施形態における、バッチファイルの構成の一例を示す図である。
【0108】
図11に示すように、バッチファイル1100は、RENAME列1101、COPY列1102、削除指示列1103等から構成されている。RENAME列1101には、分割された各ファイルの内の1つを分割前のファイル名にRENAMEする処理を実行するための指示が記載されている。
【0109】
COPY列1102には、前記RENAME1101でRENAMEしたファイル以外のファイルをコピーし、前記RENAME1101でRENAMEしたファイルと結合する処理を実行する指示が記載されている。
【0110】
削除指示列1103は、COPY列1102の指示に従ってコピーしたファイルを削除する処理を実行する指示が記載されている。電子メール受信側のクライアントPC120のCPU201は、ユーザからの指示に基づいて、分割された添付ファイルを1つのフォルダ等に集約し、当該バッチファイルの選択、押下指示を受け付けることで、ファイルの結合処理を実行する。以上が
図11の、本発明の実施形態における、バッチファイルの構成の一例についての説明である。
【0111】
図4の説明に戻る。サーバ200のCPU201は、電子メールと結合用ファイルのバッチファイルを送信先に送信する(ステップS405)以上が
図4の、本発明の実施形態における、電子メール送信処理の概要についての説明である。尚、電子メールが分割されていない場合、個別化されていない場合は、必ずしも当該バッチファイルを送信する必要はない。
【0112】
クライアントPC120のCPUは、当該電子メールを受信したサーバ220より電子メールを取得し、分割された添付ファイルを結合する。具体的には、ユーザからの指示に基づいて、分割された添付ファイルをひとつのフォルダに集約し、バッチファイルの指定、起動指示を受け付けることで当該集約したファイルを結合する。
【0113】
次に
図12を参照して、本発明の実施形態における、圧縮された添付ファイルが添付されている電子メールの分割処理の詳細について説明する。
図12は、本発明の実施形態における、圧縮された添付ファイルが添付されている電子メールの分割処理の詳細を示すフローチャートである。
図12のフローチャートは、
図9と同じく、
図5のステップS513の詳細な手順を示すものである。
【0114】
ステップS1201〜S1203、ステップS1205〜S1210、ステップS1212〜S1216の処理は、
図9のステップS901〜S903、ステップS905〜S910、ステップS912〜S916の処理にそれぞれ対応するため、ここでは説明を省略する。
【0115】
サーバ200のCPU201は、ステップS1204において、閾値602をクリアしている添付ファイルが存在するか否かを判定する(ステップS1204)。例えば、添付ファイルの中から1つのファイルを取得し、当該取得したファイルとの組み合せであって、当該閾値602をクリアする他のファイルとの組み合わせが存在するか否かを判定する。
【0116】
また、ステップS1204の判定を行う場合、最初に、ステップS805で取得したメールサイズの電子メール(本来、添付ファイルが添付されていた電子メール)のサイズ+添付ファイルのサイズとの合計サイズで、閾値602(2MB)をクリアしているサイズが有るか否かを同ステップで判定する。存在する場合は、(ステップS1204でYES)、処理をステップS1205へ、存在しない場合は、継続して、添付ファイルのサイズ(1.96MB)+空メールのサイズ(ここでは5KB)が閾値602(2MB)をクリアしているか否かの判定を行う。
【0117】
閾値602をクリアしている添付ファイルが存在すると判定した場合(ステップS1204でYES)、添付ファイル同士の、当該閾値602をクリアする組み合わせが存在するか否かを判定する処理(ステップS1205)に移行する。
【0118】
閾値602をクリアしている添付ファイルが存在しないと判定した場合(ステップS1204でNO)、当該添付ファイルが圧縮ファイルか否かを判定する(ステップS1218)。
【0119】
当該添付ファイルが圧縮ファイルでないと判定した場合(ステップS1218でNO)、処理をステップS1217に移行する。当該添付ファイルが圧縮ファイルであると判定した場合(ステップS1218でYES)、処理をステップS1219に移行し、当該圧縮ファイルの解凍し、分割し、結合する処理を実行し、処理を終了する。ステップS1219の処理の詳細については、
図13の説明にて後述する。
【0120】
また、サーバ200のCPU201は、ステップS1211において、添付ファイルサイズが閾値602をクリアしているか否かを判定する(ステップS1211)。添付ファイルサイズが閾値602をクリアしていると判定した場合(ステップS1211でYES)、当該添付ファイルは分割せず、空メールを生成して(ステップS1206)当該空メールに添付ファイルを添付する(ステップS1207)。
【0121】
添付ファイルサイズが閾値602をクリアしていないと判定した場合(ステップS1211でNO)、処理をステップS1218に移行する。以上が
図12の、本発明の実施形態における、圧縮された添付ファイルが添付されている電子メールの分割処理の詳細についての説明である。
【0122】
ここで
図13を参照して、本発明の実施形態における、圧縮された添付ファイルの分割処理の詳細について説明する。
図13は、本発明の実施形態における、圧縮された添付ファイルの分割処理の詳細を示すフローチャートである。ステップS1310〜S1313は、
図9のステップS910〜S913の処理にそれぞれ対応するため、ここでは説明を割愛する。
【0123】
サーバ200のCPU201は、添付の圧縮ファイルにパスワードが設定されているか否かを判定する(ステップS1301)。本実施形態においては、添付ファイルの暗号化(パスワード設定)に用いられるパスワードは、サーバ200にて記憶・管理されているものとする。
【0124】
添付の圧縮ファイルにパスワードが設定されている場合(ステップS1301でYES)、サーバ200に予め記憶されているパスワード(キー)を用いて(取得して)、当該添付ファイルを復号し(ステップS1303)、解凍する(ステップS1302)。添付の圧縮ファイルにパスワードが設定されていない場合(ステップS1301でNO)、処理をステップS1302に移行する。
【0125】
尚、前記添付ファイルを復号するためのパスワードが取得不可能な場合(例えば、サーバ200にパスワードが記憶されていない場合等)、当該添付ファイルを1つの添付ファイルとして扱う。つまり、当該添付ファイルを復号(ステップS1303)、解凍(ステップS1302)することなく、処理をステップS1316にすすめる(ステップS1304でNO、ステップS1310でNO、ステップS1311でNO、復号・解凍していないためステップS1315をスキップしてステップS1316の処理を実行)。
【0126】
サーバ200のCPU201は、電子メールに添付されていた圧縮ファイルが、複数のファイルが1つのファイルに圧縮されたものか否かを判定する(ステップS1304)。電子メールに添付されていた圧縮ファイルが、1つのファイルが圧縮されたものであると判定した場合(ステップS1304でNO)、処理をステップS1310に移行する。ステップS1301において、サーバ200のCPU201は、添付ファイルのサイズと電子メールのサイズの合計が閾値をクリアしているか否かを判定し、クリアしていないと判定した場合は(ステップS1310でNO)、処理をステップS1311に移行する。クリアしていると判定した場合は(ステップS1310でYES)、処理をステップS1314に移行する。
【0127】
サーバ200のCPU201は、ステップS1305において、閾値602をクリアしているファイルが存在するか否かを判定する(ステップS1305)。尚、ここでは、サーバ200のCPU201は、各ファイルを再度圧縮した場合の、圧縮後のファイルサイズを算出し、当該圧縮後のファイルサイズを用いて、閾値602をクリアしているファイルが存在するか否かを判定するものとする。以下に記載のファイルサイズの算出処理についても同様とする。
【0128】
また、例えば、添付ファイルのサイズ(1.96MB)が閾値602(2MB)をクリアしているか否かの判定にあたり、添付ファイルのサイズ(1.96MB)+空メールのサイズ(ここでは5KB)が閾値602(2MB)をクリアしているか否かの判定を行う場合、最初に、ステップS805で取得したメールサイズの電子メール(本来、添付ファイルが添付されていた電子メール)のサイズ+添付ファイルのサイズとの合計サイズで、閾値602(2MB)をクリアしているサイズが有るか否かを同ステップで判定する。存在する場合は、(ステップS1305でYES)、処理をステップS1306へ、存在しない場合は(ステップS1305でNO)、継続して、添付ファイルのサイズ(1.96MB)+空メールのサイズ(ここでは5KB)が閾値602(2MB)をクリアしているか否かの判定を行う。
【0129】
閾値602をクリアしているファイルが存在しないと判定した場合(ステップS1305でNO)、当該ファイルを、再度、1つのファイルとして圧縮する(ステップS1315)。また、当該ファイルを圧縮するにあたり、当該ファイルがステップS1303で復号されたファイルかを判断し、復号されたファイルであれば、ステップS1303で復号処理に用いたパスワードを用いて、ステップS1315で、再圧縮したファイルを暗号化(再暗号化)する(ステップS1315)。
【0130】
当該ファイルがステップS1303で復号されたファイルかを判断し、復号されていないファイルであれば、ステップS1315で前記再暗号化は行わず、処理をステップS1316に移行する。サーバ200のCPU201は、電子メールと添付ファイルを合わせて分割する(ステップS1316)。
【0131】
閾値602をクリアしている添付ファイルが存在すると判定した場合(ステップS1305でYES)、添付ファイル同士の、当該閾値602をクリアする組み合わせが存在するか否かを判定する(ステップS1306)。例えば、添付ファイルの中から1つのファイルを取得し、当該取得したファイルとの組み合せであって、当該閾値602をクリアする他のファイルとの組み合わせが存在するか否かを判定する。
【0132】
サーバ200のCPU201は、当該閾値602をクリアする組み合わせが存在すると判定した場合(ステップS1306でYES)、それらの添付ファイルを組み合わせ(ステップS1312)、当該組み合わせの数だけ空メールを生成する(ステップS1313)。
【0133】
サーバ200のCPU201は、ステップS1312で組み合わせた添付ファイルを圧縮(再圧縮)する(ステップS1314)。当該それぞれのファイルが、ステップS1303で復号した圧縮ファイルか否かを判定し、ステップS1303で復号した圧縮ファイルである場合は、ステップS1303で復号処理に用いたパスワードを用いて、当該再圧縮したファイルを暗号化(再暗号化)する(ステップS1314)。ステップS1303で復号した圧縮ファイルでない場合は、ステップS1314で再暗号化は行わず、処理を終了する。
【0134】
サーバ200のCPU201は、ステップS1314で圧縮し、ステップS1314で圧縮して暗号化したファイルを空メールに添付し(ステップS1317)、電子メールに添付された圧縮ファイル内の全てのファイルに対する、空メールへの添付、乃至分割処理が終了したか否かを判定する(ステップS1318)。
【0135】
尚、ステップS1305で、ステップS805で取得したメールサイズの電子メール(本来、添付ファイルが添付されていた電子メール)のサイズ+添付ファイルのサイズとの合計サイズで、閾値602(2MB)をクリアしているサイズが有ると判定されていた場合、サーバ200のCPU201は、ステップS1307、及びS1313〜S1317の処理を実行するにあたり、まず、前記ステップS805で取得したメールサイズの電子メールを取得して、ステップS1305で閾値602(2MB)をクリアしていると判定された電子メールとの組み合せの添付ファイルを当該電子メールに添付する。その後、前記組み合わせ数分空メールを生成し、それぞれの組み合わせの示すファイルを再圧縮、再暗号化し、それぞれの空メールに添付する処理を行う。
【0136】
電子メールに添付された全ての圧縮ファイル内のファイルに対する、空メールへの添付、乃至分割処理が終了していないと判定した場合(ステップS1318でNO)、処理をステップS1305の前に戻す。
【0137】
電子メールに添付された圧縮ファイル内の全てのファイルに対する、空メールへの添付、乃至分割処理が終了したと判定した場合(ステップS1318でYES)、処理を終了する。
【0138】
サーバ200のCPU201は、当該閾値602をクリアする組み合わせが存在しないと判定した場合(ステップS1306でNO)、当該閾値602をクリアしている添付ファイル数分空メールを生成し(ステップS1307)、処理をステップS1314に移行する。
【0139】
尚、ステップS1305で、ステップS805で取得したメールサイズの電子メール(本来、添付ファイルが添付されていた電子メール)のサイズ+添付ファイルのサイズとの合計サイズで、閾値602(2MB)をクリアしているサイズが有ると判定されていた場合、サーバ200のCPU201は、ステップS1307、S1313、S1318の処理を実行するにあたり、まず、前記ステップS805で取得したメールサイズの電子メールを取得して、ステップS1305で閾値602(2MB)をクリアしていると判定された組み合せの添付ファイルを当該電子メールに添付する。その後、前記組み合わせ数分空メールを生成し、それぞれの組み合わせの示すファイルをそれぞれの空メールに添付する処理を行う。以上が
図13の、本発明の実施形態における、圧縮された添付ファイルの分割処理の詳細についての説明である。
【0140】
上述した通り、本発明によれば、電子メール送信側と電子メール受信側のメーラの種類に関わらず、添付ファイルを容易閲覧可能とする情報処理装置、その制御方法、及びプログラムを提供することが出来る。
【0141】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0142】
前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0143】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0144】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0145】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0146】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0147】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。