(57)【要約】【課題】ＭＩＭＥ構造が壊れて欠損データが存在した場合に、欠損データを破棄した上で正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元する。【解決手段】電子メールサーバー１１側から受信した電子メールに対してＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ  ）プロトコルを適用可能とした電子メール受信システムにおいて、前記電子メール中のＭＩＭＥ構造を解析し、ＭＩＭＥパート中のデータが欠損しているか否かを検出して、前記データが欠損していると検出された場合に、欠損を受けたデータ部分を除いた正常なデータのみを前記ＭＩＭＥ構造に準じて擬似的に復元するＭＩＭＥパート擬似作成部２６を備えたことを特徴とする電子メール受信システム１０を提供する。【選択図】      図１
2004310339.tif 000002
【特許請求の範囲】
【請求項１】
電子メールサーバー側から受信した電子メールに対してＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ  ）プロトコルを適用可能とした電子メール受信システムにおいて、
前記電子メール中のＭＩＭＥ構造を解析し、ＭＩＭＥパート中のデータが欠損しているか否かを検出して、前記データが欠損していると検出された場合に、欠損を受けたデータ部分を除いた正常なデータのみを前記ＭＩＭＥ構造に準じて擬似的に復元する手段を備えたことを特徴とする電子メール受信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子メールサーバー側から受信した電子メールに対してＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ  ）プロトコルを適用した際に、電子メール中のＭＩＭＥ構造を解析して、ＭＩＭＥ構造が壊れている場合に、欠損を受けたデータ部分を除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元できる電子メール受信システムに関するものである。
【０００２】
【従来の技術】
近年、情報伝達の一手段として電子メールが多用されている。この種の電子メールの配送プロトコルとして、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：簡易転送プロトコル）やＵＵＣＰ｛Ｕｎｉｘ（登録商標）ｔｏ  Ｕｎｉｘ（登録商標）  Ｃｏｐｙ  ：電話回線などのシリアル回線を使ったバッチ・ファィル転送プロトコル｝などが標準であるが、付加的なプロトコルとしてＰＯＰ３（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ３  ）とか、機能拡張のためのＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ  ）なども取り入れられている。
【０００３】
上記したＰＯＰ３では、電子メールサーバーに着信した自分宛ての電子メールを電子メール受信装置（クライアント端末側）で取り出すことができようになっている。また、上記したＭＩＭＥでは、メール本文にＵＳ−ＡＳＣＩＩ文字列以外の言語文字列，イメージ，音声，ビデオなどのマルチメディア・データをも扱えるようになっている。
【０００４】
例えば、上記したＭＩＭＥを採用した通信装置では、電子メールサーバー側から自分宛ての電子メールを受信した際に、自分宛ての電子メール中にＭＩＭＥ構造の添付ファイルが存在した場合にＭＩＭＥ解析処理を行っている。そして、ＭＩＭＥ解析処理中にＭＩＭＥ解析処理エラーが発生した場合に、受信した添付ファイルが通信装置で扱えないデータであることを判別し、添付ファイルへの処理を終了している（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特開２００１−３５８８８３号公報（第１１−１２頁、図９）
【０００６】
上記した特許文献１に開示された通信装置によると、ここでの図示を省略するものの、ＭＩＭＥ解析処理を実行すると、メールヘッダ部分の情報から送信元情報「Ｆｒｏｍ」、送信宛先情報「Ｔｏ」、及び「Ｓｕｂｊｅｃｔ」情報等の各種情報を取得し、電子メールフォーマットを解析してメール本文と添付ファイル部分とを分離し、このＭＩＭＥ解析処理中において、ＭＩＭＥ情報が不正である場合、例えば添付ファイル開始を示すコードを検出したが終了を示すコードを検出できないような場合に、ＭＩＭＥ解析処理エラーとして処理している。
【０００７】
【発明が解決しようとする課題】
ところで、特許文献１に開示された通信装置によれば、ＭＩＭＥ解析処理中にＭＩＭＥ解析処理エラーが発生した場合に、処理不能な欠損データを除いた正常なデータが存在していても、受信したＭＩＭＥ構造のデータ全てが処理されないために、通信装置の使用勝手が悪いものとなってしまうので問題である。
【０００８】
そこで、電子メール中のＭＩＭＥ構造を解析し、ＭＩＭＥパート中のデータが欠損しているか否かを検出して、前記データが欠損していると検出された場合に、欠損を受けたデータ部分を除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元できる電子メール受信システムが望まれている。
【０００９】
【課題を解決するための手段】
本発明は上記課題に鑑みてなされたものであり、電子メールサーバー側から受信した電子メールに対してＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ  ）プロトコルを適用可能とした電子メール受信システムにおいて、
前記電子メール中のＭＩＭＥ構造を解析し、ＭＩＭＥパート中のデータが欠損しているか否かを検出して、前記データが欠損していると検出された場合に、欠損を受けたデータ部分を除いた正常なデータのみを前記ＭＩＭＥ構造に準じて擬似的に復元する手段を備えたことを特徴とする電子メール受信システムである。
【００１０】
【発明の実施の形態】
以下に本発明に係る電子メール受信システムの一実施例を図１乃至図６を参照して詳細に説明する。
【００１１】
図１は本発明に係る電子メール受信システムを示した構成図、
図２は本発明に係る電子メール受信システムにより電子メールを受信する方法を説明するための全体フロー図である。
【００１２】
図１に示した如く、本発明に係る電子メール受信システム１０は、電子メールサーバー１１側と、電子メール受信装置（クライアント端末）２０側との間で有線又は無線を介して電子メールを受信できるようになっている。
【００１３】
上記した電子メール受信装置２０は、例えば周知のパソコンなどに内蔵されており、受信部２１と、メールサイズ監視部２２と、制御部２３と、設定データ記憶部２４と、ＭＩＭＥパート解析部２５と、ＭＩＭＥパート擬似作成部２６と、ＭＩＭＥデータ破棄部２７と、メールデータ記憶部２８とで概略構成されている。
【００１４】
また、電子メール受信装置２０は、従来技術で説明したようなＰＯＰ３（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ３  ）とか、ＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ  ）などのプロトコルが適用可能になっている。
【００１５】
ここで、図１及び図２を併用して説明すると、まず、ステップＳ１で電子メール受信装置２０内に設けた受信部２１は、電子メールサーバー１１側から自分宛ての電子メールを受信する。この時、電子メールサーバー１１側は送信する電子メールのサイズを電子メール受信装置２０側に連絡する。
【００１６】
次に、ステップＳ２で電子メール受信装置２０内に設けたメールサイズ監視部２２は、受信した電子メールのサイズが予め設定した設定値以内かを問う。ここでは、設定データ記憶部２４内にメールサイズの設定値が予め記憶されており、このメールサイズの設定値を制御部２３を介してメールサイズ監視部２２に送ることで、メールサイズ監視部２２は受信時に電子メールのサイズを予め設定した設定値以内に制限している。そして、電子メールのサイズが予め設定した設定値を越えた場合（ＮＯの場合）には、ステップＳ３でＰＯＰ３の全体取り込みコマンドにより電子メール全体を取り込んで通常の処理を行う。一方、電子メールのサイズが予め設定した設定値以内の場合（ＹＥＳの場合）には、ステップＳ４でＰＯＰ３の途中取り込みコマンドにより電子メールを途中まで取り込むが、電子メールのサイズが小さい場合には電子メール全体を取り込むこともあり得る。
【００１７】
次に、ステップＳ５では、メールサイズを制限されて途中まで取り込んだ電子メール（以下、受信制限メールと記す）をＭＩＭＥパート解析部２５内に入力する。
【００１８】
次に、ステップＳ６では、ＭＩＭＥパート解析部２５内に入力した受信制限メール中にＭＩＭＥ構造に基づくデータ（以下、ＭＩＭＥパートと記す）が存在するかを問う。尚、ＭＩＭＥパートが存在するかの検出については後述するように、メールヘッダの“ｍｕｌｔｉｐａｒｔ  ”情報を検出している。そして、ＭＩＭＥパートが存在しない場合（ＮＯの場合）に、ステップＳ７で不図示のディスプレイに表示する。一方、ＭＩＭＥパートが存在する場合（ＹＥＳの場合）にはステップＳ８に移行する。
【００１９】
次に、ステップＳ８では、ＭＩＭＥパート解析部２５によりＭＩＭＥパートが完全なものかを問う。尚、ＭＩＭＥパートが完全なものか検出については、後述するようにＭＩＭＥパート中のデータが欠損しているか否かをメール−ボディＭＢ（図３，図４）の終了マークにより検出している。そして、ＭＩＭＥパートが存在し、且つ、ＭＩＭＥパート中のデータが欠損を受けてこのＭＩＭＥパートが完全なものでない場合（ＮＯの場合）には、ステップＳ９でＭＩＭＥパートをＭＩＭＥ擬似作成部２６内に送る。尚、この実施例では、ＭＩＭＥパート解析部２５内で受信制限メール中からＭＩＭＥ構造を解析してＭＩＭＥパートが完全なものかを判定しているが、これに限定されるわけではなく、ＭＩＭＥ擬似作成部２６内で受信制限メール中からＭＩＭＥ構造を解析してＭＩＭＥパートが完全なものかを判定しても良い。
【００２０】
この後、ステップＳ１０では、ＭＩＭＥパート中のデータが欠損していると検出されてＭＩＭＥ構造が壊れている状態で、欠損を受けたデータ部分が存在する場合に、ＭＩＭＥ擬似作成部２６内で欠損を受けたデータ部分（以下、欠損データと記す）を除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元すると共に、欠損データをＭＩＭＥデータ破棄部２７により破棄した上で、ステップＳ５に戻る。尚、受信制限メール中で正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元することについては後述するように、欠損データを除いた正常なデータに対して、メールボディＭＢ（図３，図４）の終了マークを擬似的に付与している。
【００２１】
一方、ステップＳ８でＭＩＭＥパートが完全なものである場合（ＹＥＳの場合）には、ステップＳ１１でＭＩＭＥパート解析部２５によりＭＩＭＥパートを解析し、この後、ステップＳ１２で解析が終了した受信制限メールデータをメールデータ記憶部２８内に記憶させる。この時、設定データ記憶部２４内に記憶されているデータの破棄設定値に応じてＭＩＭＥデータ破棄部２７に解析が終了したメールデータを送り、ＭＩＭＥデータ破棄部２７によりＭＩＭＥパート単位のデータを破棄することで、メールデータ記憶部２８内の記憶容量を有効に利用している。尚、ここでデータの破棄設定値に応じて解析が終了した受信制限メールデータを破棄しても、メールサーバー１１側に保存されているので、何等の支障もきたさない。
【００２２】
また、ＭＩＭＥ擬似作成部２６内で擬似的に復元されたＭＩＭＥパートをステップＳ５に戻してステップＳ６〜ステップＳ１１を経ることで、擬似的に復元されたＭＩＭＥパートが完全なものである場合として処理される。
【００２３】
次に、本発明に係る電子メール受信システム１０により電子メールを受信する方法についてより具体的に説明する。
【００２４】
図３はＭＩＭＥ構造の添付ファイルに欠損データが存在している状態を示した図、
図４は図３に示した欠損データを破棄した上で、欠損データを除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元した状態を示した図、
図５は本発明に係る電子メール受信システムにより電子メールを受信する際、ＭＩＭＥ構造の添付ファイルに欠損データが存在した場合に、欠損データを除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元する動作を説明するためのフロー図、
図６は図５中に示したサブルーチンフロー図である。
【００２５】
図３及び図４において、電子メールは、メールヘッダＭＨとメールボディＭＢとから構成されている。また、メールボディＭＢは複数のメインＭＩＭＥパートＭＭ１，ＭＭ２，……から構成されており、この実施例では例えば２個の第１，第２メインＭＩＭＥパートＭＭ１，ＭＭ２を有する。更に、複数のメインＭＩＭＥパートＭＭ１，ＭＭ２，……のうちのいくつかのメインＭＩＭＥパートがサブＭＩＭＥパートＳＭ１，ＳＭ２，……を有しており、この実施例では例えば第２メインＭＩＭＥパートＭＭ２が２個の第１，第２サブＭＩＭＥパートＳＭ１，ＳＭ２を有している。従って、メールボディＭＢは、複数のＭＩＭＥパートがツリー構造により枝別れしている状態であり、図示を省略するもののサブＭＩＭＥパート中に更にサブ・サブＭＩＭＥパートが存在する場合も有り得る。
【００２６】
ここで、図１，図３〜図６を併用して電子メールを受信する動作を順を追って説明する。
【００２７】
図５に示したメイン動作フローは、主としてメールボディＭＢを構成する複数のメインＭＩＭＥパートＭＭ１，ＭＭ２，……中に欠損データ（欠損を受けたデータ部分）を有するメインＭＩＭＥパートが存在するかを調べ、欠損データを有するメインＭＩＭＥパートが存在した場合に、欠損データを破棄した上で欠損データを除いた正常なメインＭＩＭＥパート（正常なデータ）のみをＭＩＭＥ構造に準じて擬似的に復元するものであり、メインＭＩＭＥパート中にサブＭＩＭＥパートが有る場合については後で述べる。
【００２８】
まず、ステップＳ２１では、メールサイズを制限された受信制限メールをＭＩＭＥパート解析部２５内に入力する。
【００２９】
次に、ステップＳ２２では、図３に示したメールヘッダＭＨを解析し、このメールヘッダ“Ｃｏｎｔｅｎｔ−Ｔｙｐｅ”にＭＩＭＥパートを含むことを示す“ｍｕｌｔｉｐａｒｔ  ”を含むかを調べる。そして、メールヘッダＭＨ中に“ｍｕｌｔｉｐａｒｔ  ”を含まない場合（ＮＯの場合）にはステップＳ３６で受信制限メールを直ちに出力する。一方、メールヘッダＭＨ中に“ｍｕｌｔｉｐａｒｔ  ”を含む場合（ＹＥＳの場合）にはステップＳ２３に移行する。
【００３０】
次に、ステップＳ２３では、メールヘッダＭＨ中に“ｍｕｌｔｉｐａｒｔ  ”を含んでいるので、メールヘッダ“Ｃｏｎｔｅｎｔ−Ｔｙｐｅ”に記述されているＭＩＭＥパートの境界を示すｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）を抽出する。ここでは、ｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）がメインＭＩＭＥパートを示すものである。
【００３１】
次に、ステップＳ２４では、メールボディＭＢのｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）を先頭から順に検索している。具体的には、ステップＳ２５で先頭のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）が存在するかを問い、ステップＳ２６で次のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）が存在するかを問い、ステップ２６を繰り返すことで、複数のメインＭＩＭＥパートＭＭ１，ＭＭ２，……が存在するかを調べている。
【００３２】
この際、ステップＳ２５で先頭のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）が存在しない場合（ＮＯの場合）には、ステップＳ３３でＭＩＭＥ擬似作成部２６はＭＩＭＥヘッダにＢｏｄｙ部分がないことを示すフラグを付け加える。また、ステップＳ２６で次のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）が存在しない場合に、ステップＳ２７に移行する。
【００３３】
次に、ステップＳ２７では、メールボディＭＢの最終位置に終了マークが存在するかを問う。この際、メールボディＭＢの最終のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）の後ろに続いて、終了マークとして“−−”が２個付加されることでメールボディＭＢの最終のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８−−）によりメールボディＭＢが完全なものであると見なすことができるものの、図３に示した状態では第２メインＭＩＭＥパートＭＭ２中に欠損データがあるためにメールボディＭＢの終了マーク“−−”が存在せず、メールボディＭＢが完全なものではない。そして、メールボディＭＢの最終位置に終了マーク“−−”が存在する場合（ＹＥＳの場合）には、このメールボディＭＢが完全なものと見なされるので、ステップＳ２８ではＭＩＭＥパート解析部２５内でＭＩＭＥパートを解析する。一方、メールボディＭＢの最終位置に終了マーク“−−”が存在しない場合（ＮＯの場合）には、メールボディＭＢが完全なものではないので、ステップＳ２９でＭＩＭＥパート解析部２５は受信制限メールをＭＩＭＥ擬似作成部２６内に送り、ステップＳ３０に移行する。
【００３４】
次に、ステップＳ３０では、メールボディＭＢが完全なものではないので、ＭＩＭＥパートごとにあるＭＩＭＥヘッダがあるか改行コードＣＲＬＦＣＲＬＦを検索する。この後、ステップＳ３１では、改行コードＣＲＬＦＣＲＬＦが存在するかを問う。そして、改行コードＣＲＬＦＣＲＬＦが存在しない場合（ＮＯの場合）には、ステップＳ３３でＭＩＭＥヘッダにＢｏｄｙ部分がないことを示すフラグを付け加える。一方、改行コードＣＲＬＦＣＲＬＦが存在する場合（ＹＥＳの場合）には、ステップＳ３２に移行する。
【００３５】
次に、ステップＳ３２では、ＭＩＭＥヘッダ項目に“Ｃｏｎｔｅｎｔ−Ｔｙｐｅ”があり“ｍｕｌｔｉｐａｒｔ  ”文字列を含むかを問う。言い換えると、ステップＳ３２では、欠損データがある受信制限メールにおいて、メインＭＩＭＥパート中にサブＭＩＭＥパートが存在するか否かを調べている。そして、ＭＩＭＥヘッダ項目中に“ｍｕｌｔｉｐａｒｔ  ”文字列がある場合（ＹＥＳの場合）には、メインＭＩＭＥパート中にサブＭＩＭＥパートが存在するために、後述の図６で説明するサブルーチンフローＳ４１〜Ｓ５５に移行する。一方、ＭＩＭＥヘッダ項目中に“ｍｕｌｔｉｐａｒｔ  ”文字列がない場合（ＮＯの場合）には、メインＭＩＭＥパート中にサブＭＩＭＥパートが存在せず、且つ、メインＭＩＭＥパートが完全でなく欠損データがあるので、ステップＳ３４で欠損データがあるメインのＭＩＭＥ  Ｂｏｄｙ部分のみを削除し、且つ、ステップＳ３５でメールボディＭＢの終了を示す終了マーク“−−”を“ｂｏｕｎｄａｒｙ”文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８）の後ろに続けて擬似的に挿入する。これにより、メールボディＭＢの最終のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８−−）が擬似的に形成されるために、受信制限メール中で欠損データを除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元することができる。
【００３６】
次に、図６に示したサブルーチンフローＳ４１〜Ｓ５５は、複数のメインＭＩＭＥパートＭＭ１，ＭＭ２，……のうちで、欠損データを有するサブＭＩＭＥパートが存在するかを調べ、欠損データを破棄した上で欠損データを除いた正常なサブＭＩＭＥパート（正常なデータ）のみをＭＩＭＥ構造に準じて擬似的に復元するものであり、図３に示した状態では第２メインＭＩＭＥパートＭＭ２の第２サブＭＩＭＥパートＳＭ２中に欠損データがあるために第２メインＭＩＭＥパートＭＭ２の終了マーク“−−”が存在せず、第２メインＭＩＭＥパートＭＭ２が完全なものではない。
【００３７】
更に、図６に示したサブルーチンフローＳ４１〜Ｓ５５は、先に図５を用いて説明したメイン動作フローと略同じ技術的思想に基づくものである。
【００３８】
まず、ステップＳ４１では、ＭＩＭＥパート先頭からのメールデータ（ＭＩＭＥパートが壊れているデータ）を入力しており、このメールデータは図３中の第２メインＭＩＭＥパートＭＭ２に相当する。
【００３９】
次に、ステップＳ４２では、ＭＩＭＥヘッダ“Ｃｏｎｔｅｎｔ−Ｔｙｐｅ”に記述されているＭＩＭＥパートの境界を示すｂｏｕｎｄａｒｙ文字列を抽出する。ここでは、ｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）がサブＭＩＭＥパートを示すものである。
次に、ステップＳ４３では、ＭＩＭＥ  Ｂｏｄｙのｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）を先頭から順に検索している。具体的には、ステップＳ４４でＭＩＭＥ  Ｂｏｄｙ内部に先頭のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）が存在するかを問い、ステップＳ４５で次のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）が存在するかを問い、ステップ４５を繰り返すことで、複数のサブＭＩＭＥパートＳＭ１，ＳＭ２，……が存在するか否かを調べている。
【００４０】
この際、ステップＳ４４で先頭のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）が存在しない場合（ＮＯの場合）には、ステップＳ５２でＭＩＭＥヘッダにＢｏｄｙ部分がないまたは壊れていることを示すフラグを付け加える。また、ステップＳ４５で次のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）が存在しない場合に、ステップＳ４６に移行する。
【００４１】
次に、ステップＳ４６では、メインＭＩＭＥパートの最終位置に終了マークが存在するかを問う。この際、メインＭＩＭＥパートの最終のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）の後ろに続いて、終了マークとして“−−”が２個付加されることでメインＭＩＭＥパートの最終のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ−−）によりメインＭＩＭＥパートが完全なものであると見なすことができるものの、図３に示した状態では第２メインＭＩＭＥパートＭＭ２の第２サブＭＩＭＥパートＳＭ２中に欠損データがあるためにＭＩＭＥパートの終了マーク“−−”が存在せず、メインＭＩＭＥパートが完全なものではない。そして、メインＭＩＭＥパートの最終位置に終了マーク“−−”が存在する場合（ＹＥＳの場合）には、このメインＭＩＭＥパートが完全なものと見なされるので、ステップＳ４７ではＭＩＭＥパート解析部２５内でＭＩＭＥパートを解析する。一方、メインＭＩＭＥパートの最終位置に終了マーク“−−”が存在しない場合（ＮＯの場合）には、ステップＳ４８に移行する。
【００４２】
次に、ステップＳ４８では、ＭＩＭＥパートごとにあるＭＩＭＥヘッダが存在するか改行コードＣＲＬＦＣＲＬＦを検索する。この後、ステップＳ４９では、改行コードＣＲＬＦＣＲＬＦが存在するかを問う。そして、改行コードＣＲＬＦＣＲＬＦが存在しない場合（ＮＯの場合）には、ステップＳ５２でＭＩＭＥヘッダにＢｏｄｙ部分がないまたは壊れていることを示すフラグを付け加える。一方、改行コードＣＲＬＦＣＲＬＦが存在する場合（ＹＥＳの場合）には、ステップＳ５０に移行する。
【００４３】
次に、ステップＳ５０では、ＭＩＭＥヘッダ項目に“Ｃｏｎｔｅｎｔ−Ｔｙｐｅ”があり“ｍｕｌｔｉｐａｒｔ  ”文字列を含むかを問う。言い換えると、ステップＳ５０では、サブＭＩＭＥパート中に更に枝別れしたサブ・サブＭＩＭＥパートが存在するか否かを調べている。そして、ＭＩＭＥヘッダ項目中に“ｍｕｌｔｉｐａｒｔ  ”文字列がある場合（ＹＥＳの場合）には、サブ・サブＭＩＭＥパートが存在するために、ＭＩＭＥパートの先頭アドレスを再度ステップＳ４１に入力し、出力を受け取った後に、ステップＳ５４に移行する。一方、ＭＩＭＥヘッダ項目中に“ｍｕｌｔｉｐａｒｔ  ”文字列がない場合（ＮＯの場合）には、サブＭＩＭＥパート中にサブ・サブＭＩＭＥパートが存在せず、且つ、サブＭＩＭＥパートが完全でなく欠損データがあるので、ステップＳ５３で欠損データがあるサブのＭＩＭＥ  Ｂｏｄｙ部分のみを削除し、且つ、ステップＳ５４でＭＩＭＥパートの終了を示す終了マーク“−−”を“ｂｏｕｎｄａｒｙ”文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ）の後ろに続けて擬似的に挿入する。これにより、メインＭＩＭＥパートの最終のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ−−）が擬似的に挿入される。
【００４４】
従って、図３に示したように、第２メインＭＩＭＥパートＭＭ２の第２サブＭＩＭＥパートＳＭ２中に欠損データがある受信制限メールをＭＩＭＥ構造に準じて擬似的に復元すると図４に示した状態になる。
【００４５】
即ち、図４に示した状態は、第２メインＭＩＭＥパートＭＭ２の第２サブＭＩＭＥパートＳＭ２中に欠損データがあったことを示すために、Ｘ−Ｃｏｎｔｅｎｔ−Ｔｒａｎｓｆｅｒ−Ｐａｒｓｅ：０００２  を欠損データ用のフラグとして立てている。
【００４６】
また、メインＭＩＭＥパートの最終のｂｏｕｎｄａｒｙ文字列（１０Ｃ１２１１Ａ２５Ｂ３２Ｄ９２Ｂ６ＥＣＦ４７Ｅ−−）とメールボディＭＢの最終のｂｏｕｎｄａｒｙ文字列（９０８９４Ａ９０８ＥＦ７６５５ＣＡＯＦ２３Ｅ９８−−）とを擬似的に形成することにより、欠損データ（欠損を受けたデータ部分）を除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元しているので、復元したＭＩＭＥパートはＭＩＭＥパート解析部２５内で解析することができる。
【００４７】
【発明の効果】
以上詳述した本発明に係る電子メール受信システムによると、電子メールサーバー側から受信した電子メールに対してＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ  ）プロトコルを適用した際に、前記電子メール中のＭＩＭＥ構造を解析し、ＭＩＭＥパート中のデータが欠損しているか否かを検出して、前記データが欠損していると検出された場合に、欠損を受けたデータ部分を除いた正常なデータのみを前記ＭＩＭＥ構造に準じて擬似的に復元する手段を備えているので、従来例のようにＭＩＭＥ構造が壊れて欠損データが存在した場合に、ＭＩＭＥ構造のデータ全てが処理されないことはなく、正常なデータのみを有効に利用できるので使用勝手が良いものとなる。
【図面の簡単な説明】
【図１】本発明に係る電子メール受信システムを示した構成図である。
【図２】本発明に係る電子メール受信システムにより電子メールを受信する方法を説明するための全体フロー図である。
【図３】ＭＩＭＥ構造の添付ファイルに欠損データが存在している状態を示した図である。
【図４】図３に示した欠損データを破棄した上で、欠損データを除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元した状態を示した図である。
【図５】本発明に係る電子メール受信システムにより電子メールを受信する際、ＭＩＭＥ構造の添付ファイルに欠損データが存在した場合に、欠損データを除いた正常なデータのみをＭＩＭＥ構造に準じて擬似的に復元する動作を説明するためのフロー図である。
【図６】図５中に示したサブルーチンフロー図である。
【符号の説明】
１０…電子メール受信システム、
１１…電子メールサーバー、
２０…電子メール受信装置（クライアント端末）、
２１…受信部、２２…メールサイズ監視部、２３…制御部、
２４…設定データ記憶部、２５…ＭＩＭＥパート解析部、
２６…ＭＩＭＥパート擬似作成部、２７…ＭＩＭＥデータ破棄部、
２８…メールデータ記憶部、
ＭＨ…メールヘッダ、ＭＢ…メールボディ、
ＭＭ１，ＭＭ２，……メインＭＩＭＥパート、
ＳＭ１，ＳＭ２，……サブＭＩＭＥパート。
【図１】
2004310339.tif 000003
【図２】
2004310339.tif 000004
【図３】
2004310339.tif 000005
【図４】
2004310339.tif 000006
【図５】
2004310339.tif 000007
【図６】
2004310339.tif 000008