(57)【特許請求の範囲】
【請求項１】
端末から送信されたメッセージを受信するゲートウェイと、
前記端末と前記ゲートウェイとを接続するネットワークと、を備えるシステムであって、
前記システムは、受信した前記メッセージが一時的に格納されるデータ格納領域を備え、
複数の転送サーバと接続されており、
転送されるメッセージが格納されるキューを複数備え、
前記受信したメッセージに含まれる情報を判別し前記キューを選択する手段を備え、
同一の前記キューに収容される複数の宛先が含まれる受信したメッセージから、当該キューに収容される複数の宛先の少なくとも一つを含む一つの第１の管理情報を作成し、前記作成された第１の管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納する方法と、
同一の前記キューに収容される複数の宛先が受信したメッセージに含まれている場合、該受信したメッセージから、前記各宛先が属するドメイン毎に、管理情報に含められる最大数を超えない数の宛先を含む管理情報を作成し、前記作成された管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納する方法と、を少なくとも含む選択肢の中から所定の規則によっていずれかの方法を選択可能とすることを特徴とするシステム。
【請求項２】
前記ゲートウェイは、
前記受信したメッセージの宛先に第１の前記キューに収容される少なくとも一つの宛先が含まれ、かつ、第２の前記キューに収容される一つの宛先が含まれる場合、前記第１のキューに収容される複数の宛先を含む一つの第１の管理情報、及び、前記第２のキューに収容される宛先を含む一つの第２の管理情報を作成し、前記作成された第１及び第２の管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納することを特徴とする請求項１に記載のシステム。
【請求項３】
前記ゲートウェイは、
前記受信したメッセージの宛先に同一の前記キューに収容される複数の宛先が含まれ、かつ、該キューに収容される宛先の数がその最大値を超えていない場合、該キューに収容される宛先が格納された管理情報に前記宛先を追加し、
前記受信したメッセージの宛先に各前記キューに収容される一つの宛先のみが含まれ、又は、該キューに収容される宛先の数がその最大値を超えている場合、該宛先に対応する管理情報を新たに作成することを特徴とする請求項１に記載のシステム。
【請求項４】
前記ゲートウェイは、
所定のドメインに含まれる宛先については、前記最大値より小さい値を最大数とするに該宛先に対応する管理情報を新たに作成することを特徴とする請求項３に記載のシステム。
【請求項５】
前記ゲートウェイは、
前記受信したメッセージを前記キューに転送する前に、前記受信したメッセージの本文のデータを修正する必要があるか否かを判定し、
前記受信したメッセージの本文のデータを修正する必要があると判定された場合、前記管理情報毎に該メッセージの本文を複製し、前記各管理情報と前記複製されたメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納することを特徴とする請求項２に記載のシステム。
【請求項６】
前記システムは、前記データ格納領域を備えるデータストアサーバを備え、
前記ゲートウェイは、
前記受信したメッセージを、前記メッセージの本文及び管理情報を含む基本部分と、前記メッセージの宛先毎の前記管理情報の差分とに分けたメッセージデータを作成し、
前記作成されたメッセージデータを前記データストアサーバに送信することを特徴とする請求項１に記載のシステム。
【請求項７】
前記データストアサーバは、前記ゲートウェイから前記メッセージデータを受信した場合、前記受信したメッセージデータを再構築することなく、前記データ格納領域に格納することを特徴とする請求項６に記載のシステム。
【請求項８】
端末とネットワークを介して接続され、前記端末から送信されたメッセージを受信するゲートウェイであって、
前記ゲートウェイは、受信した前記メッセージが一時的に格納されるデータ格納領域に接続されており、
前記ゲートウェイは、
複数のキューと接続されており、
転送されるメッセージが格納されるキューを複数備え、
前記受信したメッセージに含まれる情報を判別し前記キューを選択し、
同一の前記キューに収容される複数の宛先が含まれる受信したメッセージから、当該キューに収容される複数の宛先の少なくとも一つを含む一つの第１の管理情報を作成し、前記作成された第１の管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納する方法と、
同一の前記キューに収容される複数の宛先が受信したメッセージに含まれている場合、該受信したメッセージから、前記各宛先が属するドメイン毎に、管理情報に含められる最大数を超えない数の宛先を含む管理情報を作成し、前記作成された管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納する方法と、を少なくとも含む選択肢の中から所定の規則によっていずれかの方法を選択可能とすることを特徴とするゲートウェイ。
【請求項９】
前記受信したメッセージの宛先に第１の前記キューに収容される複数の宛先が含まれ、かつ、第２の前記キューに収容される一つの宛先が含まれる場合、前記第１のキューに収容される複数の宛先を含む一つの第１の管理情報、及び、前記第２のキューに収容される一つの宛先を含む一つの第２の管理情報を作成し、
前記作成された第１及び第２の管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納することを特徴とする請求項８に記載のゲートウェイ。
【請求項１０】
前記受信したメッセージの宛先に同一の前記キューに収容される複数の宛先が含まれ、かつ、該キューに収容される宛先の数がその最大値を超えていない場合、該キューに収容される宛先が格納された管理情報に前記宛先を追加し、
前記受信したメッセージの宛先に各前記キューに収容される一つの宛先のみが含まれ、又は、該キューに収容される宛先の数がその最大値を超えている場合、該宛先に対応する管理情報を新たに作成することを特徴とする請求項８に記載のゲートウェイ。
【請求項１１】
所定のドメインに含まれる宛先については、前記最大値より小さい値を最大数とするに該宛先に対応する管理情報を新たに作成することを特徴とする請求項１０に記載のゲートウェイ。
【請求項１２】
前記受信したメッセージを前記キューに転送する前に、前記受信したメッセージの本文のデータを修正する必要があるか否かを判定し、
前記受信したメッセージの本文のデータを修正する必要があると判定された場合、前記管理情報毎に該メッセージの本文を複製し、前記各管理情報と前記複製されたメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納することを特徴とする請求項９に記載のゲートウェイ。
【請求項１３】
前記ゲートウェイは、前記データ格納領域を備えるデータストアサーバに接続されており、
前記ゲートウェイは、
前記受信したメッセージを、前記メッセージの本文及び管理情報を含む基本部分と、前記メッセージの宛先毎の前記管理情報の差分とに分けたメッセージデータを作成し、
前記作成されたメッセージデータを前記データストアサーバに送信することを特徴とする請求項８に記載のゲートウェイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メール転送システムに関し、特に、複数宛先へ送信されるメールを格納するための記憶容量を削減し、かつ、メールの転送を効率化するメール転送システムに関する。
【背景技術】
【０００２】
電子メールを宛先ノードまで転送するメール中継装置（メールゲートウェイ、メール転送サーバ等）は、受信したメールを一時的に記憶装置（磁気ディスクドライブ等）に保存し、保存されたメールを指定された宛先へ転送する。このようなメール中継装置では、記憶装置へのデータの読み書きが性能のボトルネックとなっている。
【０００３】
また、メール中継装置が複数宛先のメールを受信し、同じ電子メールを複数の宛先に送信する際、メールの宛先分、メールを複製し、複製された複数のメールを記憶装置に格納する方法が提案されている。この場合、複製されたメールの数によって記憶装置の容量を消費し、記憶装置の読み書き回数が増加し、性能上のボトルネックとなる。このため、電子メールの格納に必要なデータ量を減らしつつ、効率的な電子メールの転送を実現することが課題となっている。
【０００４】
このメールを格納するための記憶装置の削減と、メールの管理・転送の効率化はトレードオフの関係にあり、両立させることが求められている。
【０００５】
この課題に対し、例えば、特許文献１に記載されたメールシステムが提案されている。この特許文献１に記載されたメールシステムでは、メールの本体と送信情報とを分離し、送信情報を登録するメール情報格納部と、メール情報格納部のデータを管理するメール管理部とを設けることによって、メールを、宛先毎ではなく、メールの格納領域に配送している。このため、同じ電子メールを複数の宛先に送信する際、電子メールの格納に必要なデータ量を減少している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２６４２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
例えば、携帯電話事業者が運用するメール中継装置は、メールの種類によって処理の内容が異なる。具体的には、ドメイン毎にメールの輻輳を制御するために、一般に、メールの転送先のメール中継装置（ドメイン）毎に送信キューを備える。
【０００８】
しかし、前述した従来の方法は、このような複数の送信キューを備えるメール中継装置に適用されることが考慮されていなかった。すなわち、宛先アドレスが含まれるドメインによってアクセス制御やトランスコーディングを行う必要がある。
【０００９】
また、同一キュー内でも宛先によって、メールの転送の失敗・成功が混在する場合がある。従来の方法では、メールの転送の失敗・成功が複数宛先において混在することは考慮されていなかった。
【００１０】
そこで、本発明は、メールの格納に必要な記憶容量を削減し、メールの中継処理の効率化を目的とする。
【課題を解決するための手段】
【００１１】
本発明の代表的な一例を示せば以下の通りである。すなわち、端末から送信されたメッセージを受信するゲートウェイと、前記端末と前記ゲートウェイとを接続するネットワークと、を備えるシステムであって、前記システムは、受信した前記メッセージが一時的に格納されるデータ格納領域を備え、複数の転送サーバと接続されており、転送されるメッセージが格納されるキューを複数備え、前記受信したメッセージに含まれる情報を判別し前記キューを選択する手段を備え、同一の前記キューに収容される複数の宛先が含まれる受信したメッセージから、当該キューに収容される複数の宛先の少なくとも一つを含む一つの第１の管理情報を作成し、前記作成された第１の管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納する方法と、同一の前記キューに収容される複数の宛先が受信したメッセージに含まれている場合、該受信したメッセージから、前記各宛先が属するドメイン毎に、管理情報に含められる最大数を超えない数の宛先を含む管理情報を作成し、前記作成された管理情報とメッセージの本文とをリンクさせたメッセージデータを前記データ格納領域に格納する方法と、を少なくとも含む選択肢の中から所定の規則によっていずれかの方法を選択可能とする。
【発明の効果】
【００１２】
本発明の実施の形態によると、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態のメール転送システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態のメールゲートウェイの構成を示すブロック図である。
【図３Ａ】本発明の第１の実施の形態で用いられるメール管理方式を説明する図である。
【図３Ｂ】本発明の第１の実施の形態で用いられるメール管理方式を説明する図である。
【図３Ｃ】本発明の第１の実施の形態で用いられるメール管理方式を説明する図である。
【図４】本発明の第１の実施の形態のメール転送処理のシーケンスの一例（メールデータが共有される場合）を示す。
【図５】本発明の第１の実施の形態のＲＣＰＴチェック処理のフローチャートである。
【図６】本発明の第１の実施の形態の管理方式判定処理（メール本文チェック処理）のフローチャートである。
【図７】本発明の第１の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合の処理のシーケンス図である。
【図８】本発明の第１の実施の形態のメール送信・削除処理のフローチャートである。
【図９】本発明の第２の実施の形態のメール転送システムの構成を示すブロック図である。
【図１０】本発明の第２の実施の形態のメールゲートウェイの構成を示すブロック図である。
【図１１】本発明の第２の実施の形態のデータストアサーバの構成を示すブロック図である。
【図１２】本発明の第２の実施の形態のメール転送処理の一例（メールデータが共有される場合）を示すシーケンス図である。
【図１３】本発明の第２の実施の形態のデータストアサーバへ送信されるパケットの一例を説明する図である。
【図１４】本発明の第２の実施の形態のメールゲートウェイで実行されるメール管理を説明する図である。
【図１５】本発明の第２の実施の形態のメールゲートウェイによって実行されるパケット構成処理のフローチャートである。
【図１６】本発明の第２の実施の形態のデータストアサーバにおけるデータの格納を説明する図である。
【図１７】本発明の第２の実施の形態のデータストアサーバによって実行されるパケット構成処理のフローチャートである。
【発明を実施するための形態】
【００１４】
＜実施形態１＞
図１は、本発明の第１の実施の形態のメール転送システムの構成を示すブロック図である。
【００１５】
本実施の形態のメール転送システムは、事業者ネットワーク１０３内に構成されており、メールゲートウェイ１０６及びメールボックスサーバ１０７を備える。メールゲートウェイ１０６とメールボックスサーバ１０７とは、事業者ネットワーク１０３によって接続されている。
【００１６】
事業者ネットワーク１０３は、無線ネットワーク１０２を介して通信端末１０１に接続されており、ネットワーク１０４を介して複数のメール転送サーバ１０５Ａ〜１０５Ｃに接続されている。
【００１７】
メールゲートウェイ１０６は、通信端末１０１から送信された電子メールのデータを受信し、受信したメールデータをメール転送サーバ１０５Ａ等に転送するコンピュータである。また、メールゲートウェイ１０６は、電子メールの他に、メールの宛先毎に課金情報、携帯電話にメールが届いたことを知らせる通知、宛先へ正常にメールが送信されたことを示す配信通知等のメッセージをメールの送信者へ送信する機能を持つ。これらのメッセージは、メッセージを宛先に送信する点において、電子メールの送信と同じ機構で実現できる。本実施例では、これらのメッセージについては記述しないが、本発明をこれらのメッセージに適用することは可能である。メールゲートウェイ１０６の構成は、図２を用いて後述する。
【００１８】
メールボックスサーバ１０７は、メールゲートウェイ１０６が受信し、自網に収容される通信端末１０１宛のメールのデータを格納するコンピュータであり、いわゆる、ＰＯＰサーバやＩＭＡＰサーバである。
【００１９】
無線ネットワーク１０２は、基地局及び交換機を備え、無線通信回線を介して通信端末１０１と接続する。  通信端末１０１は、携帯電話機などの携帯通信端末で、ＭＭＳ、インターネットメール等のメールを送受信する機能を有する。
【００２０】
メール転送サーバ１０５Ａ〜１０５Ｃは、メールゲートウェイ１０６が受信したメールデータの転送先となる計算機である。メール転送サーバ１０５Ａ〜１０５Ｃは、宛先アドレスが収容されるメールサーバでも、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【００２１】
ネットワーク１０４は、インターネットなどの、複数のメール転送サーバ間でメールデータが交換されるネットワークである。
【００２２】
図２は、第１の実施の形態のメールゲートウェイ１０６の構成を示すブロック図である。
【００２３】
メールゲートウェイ１０６は、プロセッサ２０２、メモリ２０７、ネットワークインターフェース２０３及び不揮発性記憶装置２０８を備える。
【００２４】
プロセッサ２０２は、メールゲートウェイプログラム２０４を実行する。プロセッサ２０２がメールゲートウェイプログラム２０４を実行することによって、メールゲートウェイ１０６が行う各種処理が実現される。
【００２５】
ネットワークインターフェース２０３は、事業者ネットワーク１０３に接続され、所定のプロトコルに従って通信する。記憶装置２０８は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、メール格納領域２０９及びログ格納領域２１０が設けられる。
【００２６】
メールゲートウェイ１０６は、メールの転送先のドメイン（メール転送サーバ）毎に送信キューを備え、受信したメールを送信キューに格納する。送信キューに格納されたメールは、転送先のメール転送サーバ１０５Ａ等へ転送される。また、メールゲートウェイ１０６は、受信したメールをメール管理・格納領域２０５とバックアップ用のメール格納領域２０９の両方に格納する。メール管理・格納領域２０５はメモリ２０７上にあり、不揮発性記憶装置２０８と比較し読み書きが高速であるため、通常メールゲートウェイ１０６はメール管理・格納領域２０５上のメール管理情報（詳細は図３で説明）の読み書きを行い各種処理を行う。ただし、メールゲートウェイ１０６が停止するとメモリ２０７上のデータは失われるため、メールゲートウェイ１０６が障害等で停止しても受信したメールを失わないようにバックアップ用のメール格納領域２０９にも受信したメールを記憶する。
メール管理・格納領域２０５とメール格納領域２０９に格納されたメールは、転送先サーバへのメールの転送完了後に、消去される。通常、メールゲートウェイ１０６は、バックアップ用のメール格納領域２０９へはメール受信時におけるメールの格納と、転送完了後の削除の２回のアクセスしか行わない。
【００２７】
図３Ａから図３Ｃは、第１の実施の形態で用いられるメール管理方式を説明する図である。
【００２８】
メールゲートウェイ１０６が受信したメールのデータは、図のメール本文として格納する。メール管理情報は、メールの転送処理をするためにメールゲートウェイ１０６がメールクライアントの通信やメール本文の解析から作成したデータであり、メール中継装置間でメールを転送する際に転送される情報であって、宛先、送信元、認証情報、メールの用途、メールの種別などを含む。メールゲートウェイ１０６は、メール管理情報を使って、メールの転送を処理する。
【００２９】
第１の方式である完全分離方式は、図３Ａに示すように、メールの本文をコピーすることによって、メールの宛先の数だけメール本文を作成し、メール宛先毎にメールデータ（メール管理情報、メール本文）を作成する。後述するように、宛先毎にメール本文を書き替えた後に転送する必要がある場合には完全分離方式が適用されるが、複数宛先のメールの本文が同一である場合にも完全分離方式を適用することができる。この完全分離方式では、メール本文を含むメールデータが宛先毎に作成されるので、メールデータを格納するために多くの記憶領域を必要とするが、宛先毎のメールの状態（転送完了、不達など）の管理や、障害発生時のメールの復旧処理が容易である利点がある。
【００３０】
第２の方式であるメール本文共有方式は、図３Ｂに示すように、宛先毎に複数のメール管理情報が作成されるが、メール本文は各メール管理情報に共通である。各メール管理情報はメール本文とリンクされることによって、その対応が管理される。すなわち、メール本文共有方式では、各メール管理情報には一つの宛先が含まれ、メール本文は全メール管理情報（全宛先）に共通である。メール本文共有方式は、後述するように、複数の宛先のドメインが異なる場合に適用される。また、メール本文共有方式は、自網宛の複数の宛先にメールを転送する場合、宛先のメールボックス毎にメールデータを分割する場合に適用される。この場合、メール格納領域に格納されるデータは、宛先のメールボックス毎のメール管理情報と、一つのメール本文とによって構成される。
【００３１】
メール本文共有方式では、複数のメール管理情報によってメール本文が共有されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。しかし、メール本文共有方式では、宛先毎のメールの状態の管理に参照カウンタを用いる等、メールの管理が複雑であり、障害発生時のメールの復旧処理が複雑である。
【００３２】
第３の方式である複数宛先・メール本文共有方式は、図３Ｃに示すように、複数のメール管理情報が作成され、メール本文は各メール管理情報に共通であるが、各メール管理情報には一つ又は複数の宛先が含まれる。各メール管理情報はメール本文とリンクが張られることによって、その対応が管理される。複数宛先・メール本文共有方式は、後述するように、同一のメール転送サーバ１０５Ａ等に収容される複数の宛先に転送されるメールである場合に適用される。しかし、複数宛先・メール本文共有方式は、自網内の宛先が複数ある場合には適用できない。これは、自網内ではメールゲートウェイ１０６から宛先のメールボックス宛にメールが転送されるので、宛先メールボックス毎にメールの状態（転送成功、不達など）を管理する必要があるからである。また、自網内では、メールボックスサーバ１０７、配信通知送信サーバ、ＤＮＳ等の複数のサーバが連携して処理が行われているため、自網内の宛先毎にメールの状態が宛先毎に異なることからも、複数宛先・メール本文共有方式は適さない。
【００３３】
複数宛先・メール本文共有方式は、宛先毎に作成されるメールデータにはメール管理情報のみが含まれ、メール本文は各メール管理情報で共有され、さらに、メール管理情報が複数の宛先で共通化されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。一方、複数宛先・メール本文共有方式では、メール管理情報に含まれる宛先の数が異なるので、メールの状態（転送成功、不達など）の管理が複雑になる。この場合、転送成功（又は、不達）をログに出力する、又はメール管理情報に記録すれば、メールの状態によって処理を分離することができる。
【００３４】
さらに、複数宛先・メール本文共有方式では、処理が完全に異なる場合には適用できない。分離しているものには適用できない。
【００３５】
前述したように、メールゲートウェイ１０６は、転送先ドメイン毎に送信キューを備える。このため、異なるドメインへ送信されるメールは状態が異なるので、メール管理情報を複数に分けることが望ましい。このため、本実施の形態では、前述した三つのメール管理方式を使い分ける。
【００３６】
図４は、第１の実施の形態のメール転送処理のシーケンスの一例（メールデータが共有される場合）を示す。
【００３７】
なお、メール転送サーバ１０５Ａ、１０５Ｂは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【００３８】
通信端末（メールクライアント）１０１は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ１０６にＭＡＩＬ  ＦＲＯＭメッセージ４０１を送信し、このメールの送信元のアドレスを伝える。このＭＡＩＬ  ＦＲＯＭメッセージ４０１のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ１０６は、ＭＡＩＬ  ＦＲＯＭメッセージを正しく受信すると、ＭＡＩＬ  ＦＲＯＭメッセージを正しく受信したことを示す２５０  ＯＫメッセージ４０２をメールクライアント１０１に送信する。
【００３９】
次に、メールクライアント１０１は、メールゲートウェイ１０６にＲＣＰＴ  ＴＯメッセージ４０３を送信し、このメールの一つの宛先アドレス（ａ１＠ａａａａ．ｎｅ．ｊｐ）を伝える。このＲＣＰＴ  ＴＯメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ１０６は、受信したＲＣＰＴ  ＴＯメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域２０５とメール格納領域２０９に格納する方式の一次的な判定をする（４０４）。そして、宛先アドレスが正しいと判定された場合、２５０  ＯＫメッセージ４０５をメールクライアント１０１に送信する。なお、このＲＣＰＴチェック４０４の詳細は、図５を用いて後述する。
【００４０】
その後、このメールの宛先が複数である場合、メールクライアント１０１はメールゲートウェイ１０６にＲＣＰＴ  ＴＯメッセージ４０６を送信し、このメールの別の宛先アドレス（ｂ２＠ｂｂｂｂ．ｎｅ．ｊｐ）を伝える。メールゲートウェイ１０６は、受信したＲＣＰＴ  ＴＯメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域２０５とメール格納領域２０９に格納する方式の一次的な判定をする（４０７）。そして、宛先アドレスが正しいと判定された場合、２５０  ＯＫメッセージ４０８をメールクライアント１０１に送信する。なお、このＲＣＰＴチェック４０４の詳細は、図５を用いて後述する。
【００４１】
メールクライアント１０１は、全てのＲＣＰＴ  ＴＯメッセージ（宛先アドレス）を送信すると、メール本文４０９を送信する。
【００４２】
メールゲートウェイ１０６は、メール（送信元、宛先等の管理情報及び本文）を正しく受信すると、メール本文の管理方式を判定し（４１０）、判定された方式に基づいて、ａ１宛のメール管理情報、ｂ２宛のメール管理情報、及び、メール本文をメール管理・格納領域２０５とメール格納領域２０９へ格納する（４１１、４１２、４１３）。その後、メールゲートウェイ１０６は、メールを正しく受信したことを示す２５０  ＯＫメッセージ４１４をメールクライアント１０１に送信する。
【００４３】
その後、メールゲートウェイ１０６は、宛先ａ１が収容されるメール転送サーバＡ（１０５Ａ）にメールを転送する（４１５）。メール転送サーバＡ（１０５Ａ）は、メールを正しく受信すると、メールを正しく受信したことを示す２５０  ＯＫメッセージ４１６をメールゲートウェイ１０６に送信する。メールゲートウェイ１０６は、ａ１宛のメールの転送に成功すると、ａ１宛のメールの管理情報をメール管理・格納領域２０５とメール格納領域２０９から削除する（４１７）。
【００４４】
また、メールゲートウェイ１０６は、宛先ｂ２が収容されるメール転送サーバＢ（１０５Ｂ）にメールを転送する（４１８）。メール転送サーバＢ（１０５Ｂ）は、メールを受信すると、メールを正しく受信したことを示す２５０  ＯＫメッセージ４１９をメールゲートウェイ１０６に送信する。その後、メールゲートウェイ１０６は、ｂ２宛のメールの転送に成功すると、ｂ２宛のメールの管理情報をメール管理・格納領域２０５とメール格納領域２０９から削除する（４２０）。
【００４５】
さらに、メールゲートウェイ１０６は、全ての宛先へのメールの送信が完了すると、メールデータをメール管理・格納領域２０５とメール格納領域２０９から削除する（４２１）。
【００４６】
なお、ステップ４１０における判定の結果によって、前述したシーケンスは若干異なってくる。例えば、ステップ４１０において、メールを完全分離方式で処理すると判定された場合（図６のステップ６０５）、ステップ４１７で、ａ１宛のメールの管理情報及びメール本文を削除し、ステップ４２０で、ｂ２宛のメールの管理情報及びメール本文を削除すればよい。完全分離方式では、メール管理情報とメール本文とは１対１対応しているので、このようにすれば、ステップ４２１でメール本文を削除しなくてもよい。
【００４７】
また、ステップ４１０において、メールを複数宛先・メール本文共有方式で処理すると判定された場合（図５のステップ５１３。なお、この場合、ドメインA.comの宛先が二つある）、ステップ４１５で、２通のメールを送信し（２件のＲＣＰＴ  ＴＯを連続して送信し）、ステップ４１７で、ａ１宛メールの管理情報（２宛先が格納されている）を削除し、ステップ４２０で、ｂ２宛メールの管理情報を削除し、ステップ４２１で共通のメール本文を削除すればよい。
【００４８】
図５は、第１の実施の形態のＲＣＰＴチェック処理のフローチャートであり、図４のステップ４０４、４０７でメールゲートウェイ１０６（メールゲートウェイプログラム２０４）によって実行される。このＲＣＰＴチェック処理では、メールのヘッダ（特に、宛先アドレス）を解析して、メールの管理方式を判定する。
【００４９】
まず、宛先メールアドレスを参照して、宛先が属するドメインに対応する送信キューを選択する（５０１）。
【００５０】
その後、ステップ５０１で選択された送信キューが規制状態であるか否かを判定する（５０２）。その結果、選択された送信キューが規制状態である場合、この宛先へメールを送信することができないので、メールクライアント１０１にエラーメッセージを送信する（５０３）。一方、選択された送信キューが規制状態ではない場合、ステップ５０４に進む。
【００５１】
ステップ５０４では、このメールの宛先の数（ＲＣＰＴ数）を計数し（５０４）、計数されたＲＣＰＴ数が、一つのメール内で許容される最大値を超えているか否かを判定する（５０５）。その結果、計数されたＲＣＰＴ数がメールの最大値を超えている場合、この宛先へメールを転送することができないので、メールクライアント１０１にエラーを応答する（５０６）。一方、計数されたＲＣＰＴ数がメールの最大値に達していない場合、ステップ５０７に進む。
【００５２】
ステップ５０７では、計数されたＲＣＰＴ数が”１”であるか否かを判定する。その結果、計数されたＲＣＰＴ数が”１”であれば、このメールは一つの宛先に転送すればよいので、この宛先のＲＣＰＴ情報を記述したメール管理情報を作成し、このＲＣＰＴチェック処理を終了する（５０８）。一方、計数されたＲＣＰＴ数が”１”でなければ、このメールは複数の宛先に転送する必要があるので、ステップ５０９に進む。
【００５３】
ステップ５０９では、宛先メールアドレスが自網内に含まれるアドレスであるか否かを判定する。その結果、宛先メールアドレスが自網内に含まれるアドレスでなければ、ステップ５１１に進む。一方、宛先メールアドレスが自網内に含まれるアドレスであれば、メールボックスサーバ１０７からユーザ情報を取得し（５１０）、ステップ５１１に進む。このユーザ情報には、このユーザの端末受信できる添付ファイルの情報（特に、画像ファイルの形式及び大きさ）、メールの転送先のメールボックスの情報、及びこのメールボックスの処理をするサーバの構成の情報が含まれる。
【００５４】
ステップ５１１では、この宛先と同一ドメインの宛先があるか否かを判定する。その結果、この宛先と同一ドメインの宛先がなければ、この宛先と同一のメール転送サーバ１０５Ａ等に転送される宛先がなく、この宛先に対応するメール管理情報を作成する必要があるので、ステップ５１４に進む。一方、この宛先と同一ドメインの宛先があれば、ＲＣＰＴ数が網外最大値を超過しているか否かを判定する（５１２）。ＲＣＰＴ数の最大値とは、一つのメール、すなわち、一つのメール管理情報でまとめて送信できる宛先の最大数である。その結果、この宛先が網外であり、ＲＣＰＴ数が網外最大値を超過していれば、ステップ５１４に進む。一方、ＲＣＰＴ数が網外最大値を超過していなければ、メール本文が共通する形式でまとめられたメールデータを作成することができる。このため、この宛先のＲＣＰＴ情報を同一ドメインの宛先のメール管理情報に追加する（５１３）。なお、ステップ５１２において、メールゲートウェイ１０６はシステム全体で網外最大値を一つだけ持つだけでなく、宛先ドメイン毎に個別に網外最大値を設定することが可能である。例えば、宛先が通信キャリアなど送信失敗の確率が非常に低いドメインであれば、メールゲートウェイ１０６が大きい網外最大値を選択する。一方、送信失敗の確率が高いドメインである場合は失敗する可能性が高いため、小さい網外最大値または同一ドメインで宛先をまとめないでステップ５１４へ進むという処理が可能である。
【００５５】
この宛先と同一ドメインの宛先がなく、又は、ＲＣＰＴ数が網外最大値（又は、ドメイン毎の最大値）を超過している場合、この宛先のメールは別な送信キューに格納されるので、別なメール管理情報を作成する必要がある。このため、ステップ５１４では、新たなメール管理情報を作成し（５１４）、この宛先のＲＣＰＴ情報を作成したメール管理情報に追加する（５１５）。なお、ステップ５１２でＲＣＰＴ数が最大値を超過して、ステップ５１４で新たなメール管理情報を作成した場合、新たなメール管理情報でＲＣＰＴ数が最大値を超過するまで、次以降のメールをまとめることができる。
【００５６】
図６は、第１の実施の形態の管理方式判定処理（メール本文チェック処理）のフローチャートであり、図４のステップ４１０でメールゲートウェイ１０６（メールゲートウェイプログラム２０４）によって実行される。このメール本文チェック処理では、メール本文を解析して、メールの管理方式を判定する。すなわち、メール本文を解析することによって、既にＲＣＰＴチェック処理（図５）でメール本文を共有して管理すると判定されたメールを、メール本文が分離された形式に管理方式を変更する。
【００５７】
まず、メール管理情報を参照して、解析すべきメール管理情報があるか否かを判定する（６０１）。その結果、対象となるメール管理情報がなければ、このメール本文チェック処理を終了する。一方、対象となるメール管理情報があれば、ステップ６０２に進む。
【００５８】
ステップ６０２では、この宛先のメール管理情報を解析する。具体的には、メール本文の形式、添付ファイルの有無、及び、ユーザ情報の有無をチェックする。なお、このユーザ情報は、図５のステップ５１０で取得された情報である。
【００５９】
次に、ステップ６０２における判定結果に基づいて、このメールの宛先が自網内か、画像ファイルが添付されているか、及び、ユーザ情報の設定が異なるかを判定する（６０３）。その結果、このメールの宛先が自網内であり、画像ファイルが添付されており、かつ、ユーザ情報の設定が異なる場合、画像ファイルの変換が必要なので、ステップ６０５に進む）。一方、このメールが網外のメール転送サーバ宛である、画像ファイルが添付されていない、又は、ユーザ情報の設定が同じのいずれかの条件を満たす場合、ステップ６０４に進み、メールの形式がｃＨＴＭＬ形式であるか否か、すなわち、このメールがデコメであるか否かを判定する。
【００６０】
その結果、メールの形式がｃＨＴＭＬ形式であれば、メール本文の変換が必要なので、ステップ６０５に進む。
【００６１】
ステップ６０５では、宛先に従ってメール本文を分離して管理するために、メール本文をコピーし、メール管理情報を分離し、分離したメール管理情報をコピーされたメール本文に付加して宛先キューに格納する（６０５）。
【００６２】
図６に示す管理方式判定処理では、メールの形式がｃＨＴＭＬ形式であるか否かを判定
したが、メールの形式がプレーンテキスト形式であるか否かを判定し、メールの形式がプレーンテキスト形式であれば、メール本文の変換は必要がないと判定することもできる。
【００６３】
さらに、メール本文に絵文字が含まれているかを判定し、メール本文に絵文字が含まれていれば、メール本文の変換が必要であると判定することもできる。
【００６４】
図７は、第１の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合のシーケンス図である。
【００６５】
なお、メール転送サーバ１０５Ａは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【００６６】
まず、メールゲートウェイ１０６は、メール転送サーバＡ（１０５Ａ）に、ＭＡＩＬ  ＦＲＯＭメッセージを送信し、このメールの送信元アドレスを伝える（７０１）。メール転送サーバＡ（１０５Ａ）は、ＭＡＩＬ  ＦＲＯＭメッセージを正しく受信すると、ＭＡＩＬ  ＦＲＯＭメッセージを正しく受信したことを示す２５０  ＯＫメッセージを、メールゲートウェイ１０６に送信する（７０２）。
【００６７】
次に、メールゲートウェイ１０６は、メール転送サーバＡ（１０５Ａ）に、ＲＣＰＴ  ＴＯメッセージを送信し、このメールの一つの宛先アドレス（ａ１＠ａａａａ．ｎｅ．ｊｐ）を伝える（７０３）。メール転送サーバＡ（１０５Ａ）は、ＲＣＰＴ  ＴＯメッセージに含まれる宛先アドレスがメール転送サーバＡ（１０５Ａ）に収容されているか否かを判定する。この宛先アドレスがメール転送サーバＡ（１０５Ａ）に収容されている場合、メール転送サーバＡ（１０５Ａ）は、２５０  ＯＫメッセージを、メールゲートウェイ１０６に送信する（７０４）。
【００６８】
さらに、メールゲートウェイ１０６は、メール転送サーバＡ（１０５Ａ）に、ＲＣＰＴ  ＴＯメッセージを送信し、このメールのもう一つの宛先アドレス（ｂ２＠ａａａａ．ｎｅ．ｊｐ）を伝える（７０５）。メール転送サーバＡ（１０５Ａ）は、ＲＣＰＴ  ＴＯメッセージに含まれる宛先アドレスがメール転送サーバＡ（１０５Ａ）に収容されているか否かを判定する。この宛先アドレスがメール転送サーバＡ（１０５Ａ）に収容されていない場合、メール転送サーバＡ（１０５Ａ）は、エラー応答をメールゲートウェイ１０６に送信する（７０６）。
【００６９】
メールゲートウェイ１０６は、エラー応答を受信すると、未達通知を送信するために、メール本文をコピーして分離する（７０７）。メールゲートウェイ１０６は、メールクライアント１０１にアドレス ｂ２＠ａａａａ．ｎｅ．ｊｐ宛のメールの未達を通知する（７０９）。メールクライアント１０１は、メールゲートウェイ１０６から未達通知を正しく受信すると、メールゲートウェイ１０６に、未達通知の応答を送信する（７１０）。メールゲートウェイ１０６は、未達通知の応答を受信すると、アドレスｂ２＠ａａａａ．ｎｅ．ｊｐ宛のメールが未達であること、すなわち未達通知の送信成功をメール管理情報及びログに出力する（７１１）。なお、ステップ７０７の代わりに、メールゲートウェイ１０６が７０５のメールの送信に失敗したことをメール管理・格納領域２０５とバックアップ用メール格納領域２０９、およびログへ書き込み、未達通知だけのメール管理情報を作成すれば、メール本文を分離しないでもステップ７０７〜７１１の処理が実現可能である。
【００７０】
メールゲートウェイ１０６は、ステップ７０７で分離されたメール本文はステップ７０９、７１０と並行して、アドレスａ１＠ａａａａ．ｎｅ．ｊｐ宛のメールとして、メール転送サーバＡ（１０５Ａ）に送信する（７１３）。メール転送サーバＡ（１０５Ａ）は、メール本文を正しく受信すると、メール本文を正しく受信したことを示す２５０  ＯＫメッセージを、メールゲートウェイ１０６に送信する（７１４）。
【００７１】
メールゲートウェイ１０６は、メール本文の送信に対する確認応答（２５０  ＯＫ）を受信すると、メール本文の送信成功をメール管理情報及びログに出力する（７１５）。以上の処理によって、メールゲートウェイ１０６は、ａ１＠ａａａａ．ｎｅ．ｊｐ宛のメールの転送の成功と、ｂ２＠ａａａａ．ｎｅ．ｊｐ宛のメールの転送の失敗（未達）とが確定したので、メール管理情報及びメールデータ（本文）をメール管理・格納領域２０５とメール格納領域２０９から削除する（７１６）。
【００７２】
なお、メールゲートウェイ１０６は、メールクライアント１０１への未達通知（７０９〜７１０）と、メール本文の分離、転送（７１３〜７１６）とを別スレッドで並行して処理しているが、メールクライアント１０１への未達通知（７０９〜７１０）と、メール本文の分離、転送（７１３〜７１６）とを順に処理すれば一つのスレッドで処理ができる。
【００７３】
図７に示すシーケンスでは、転送の結果を逐次にメール管理情報及びログに出力することによって、メールの状態を単純化して管理することができる。例えば、メールの転送が成功した場合、ログへの出力によって配信処理を終了状態にすることができる。
【００７４】
図８は、第１の実施の形態のメール送信・削除処理のフローチャートであり、図４のステップ４１５〜４２１でメールゲートウェイ１０６（メールゲートウェイプログラム２０４）によって実行される。
【００７５】
メールゲートウェイ１０６は、メール転送サーバ（又は、次のメール転送サーバ）にメール本文を送信し（８０１）、転送先のメール転送サーバからの返信を待つ。メールゲートウェイ１０６は、転送先のメール転送サーバからの返信を判定する（８０２）。転送先のメール転送サーバからの返信が送信成功であった場合、ステップ８０３に進み、メールデータを削除する処理を開始する。一方、転送先のメール転送サーバからの返信が送信失敗であった場合、ステップ８０８に進み、未達通知を送信する。
【００７６】
ステップ８０３では、メールの送信に成功しているので、メールデータの参照数（参照カウンタ）から１を減算し、メール送信の成功をログに出力し、メール送信が成功したアドレスの管理情報に含まれる状態を送信済みに変更する。
【００７７】
その後、メール管理情報に含まれる状態を参照して、全ての宛先へのメールの送信が完了したか否かを判定する（８０４）。なお、参照カウンタには、このメールのメール管理情報の数が設定される。
【００７８】
判定の結果、一部のメールの送信が完了していなければ、他のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。一方、全てのメールの送信が完了していれば、メール本文にリンクされる未送信のメールのメール管理情報の数を示す参照カウンタをチェックする（８０５）。その結果、参照カウンタが０であれば（８０６でＹＥＳ）、全ての宛先へのメールの送信が完了しているので、メール本文及びメール管理情報を削除し（８０７）、このメール送信・削除処理を終了する。一方、メールデータの参照数が０でなければ（８０６でＮＯ）、一部の宛先へメールが未送信なので、未送信のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。
【００７９】
一方、ステップ８０８では、メールの送信が失敗しているので、このメールの再送回数が最大再送回数を超過しているか否か、及び、有効期限切れであるか否かを判定する（８０８）。このメールの再送回数が最大再送回数を超過しておらず、かつ、有効期限切れでもない場合は、この宛先へメールを再送するために、このメール送信・削除処理を終了して、次のメール送信・削除処理を開始する。
【００８０】
一方、最大再送回数が超過している場合、又は、有効期限切れである場合は、この宛先へメールを再送する必要がなく、この宛先へのメールの送信はエラーとして処理されるので、参照カウンタから１を減算し、メール送信の失敗をログに出力し、メール送信が失敗したアドレスのメール管理情報に含まれる状態を送信済みに変更する（８０９）。その後、未達通知を送信し（８１０）、ステップ８０４に進む。すなわち、メールクライアント１０１が未達通知を受信した場合は、送信済み扱いとする。
【００８１】
以上説明したように、本発明の第１実施形態によると、メール管理情報及びメール本文によってメールの管理方式を決定し、メールによって適切なメール管理をするので、メールの格納に必要な記憶容量を削減し、かつ、メールの中継処理を効率化することができる。
【００８２】
また、まずメール管理情報によってメール管理方式を一次的に決定し、その後メール本文によってメール管理方式を最終決定するので、メールの管理方式を効率的に決定することができる。
【００８３】
＜実施形態２＞
次に、本発明の第２の実施の形態について説明する。第２の実施の形態は、前述した第１の実施の形態と異なり、メールゲートウェイ１０６がメール格納領域を備えず、データストアサーバ１０８がメール格納領域を備える。すなわち、メールゲートウェイ１０６が転送すべきメールのデータは、メールゲートウェイ１０６からデータストアサーバ１０８に転送され、メールゲートウェイ１０６によるメールの転送が完了した後に削除される。
【００８４】
なお、第２の実施の形態において、前述した第１の実施の形態と同じ機能の構成及び同じ処理については、第１の実施の形態と同じ符号を付し、その説明は省略する。
【００８５】
図９は、第２の実施の形態のメール転送システムの構成を示すブロック図である。
【００８６】
第２の実施の形態のメール転送システムは、事業者ネットワーク１０３内に構成されており、メールゲートウェイ１０６、メールボックスサーバ１０７及びデータストアサーバ１０８を備える。メールゲートウェイ１０６とメールボックスサーバ１０７とデータストアサーバ１０８とは、事業者ネットワーク１０３によって接続されている。
【００８７】
事業者ネットワーク１０３は、無線ネットワーク１０２を介して通信端末１０１に接続されており、ネットワーク１０４を介してメール転送サーバ１０５Ａ〜１０５Ｃに接続されている。
【００８８】
メールゲートウェイ１０６は、通信端末１０１から送信されたメールデータを受信し、受信したメールデータをメール転送サーバ１０５Ａ等に転送するコンピュータである。メールゲートウェイ１０６の記憶装置２０８には、ログ格納領域２１０が設けられる。なお、第１の実施の形態のメールゲートウェイ１０６に設けられたメール格納領域２０９は、データストアサーバ１０８に設けられる。
【００８９】
データストアサーバ１０８は、通信端末１０１から送信され、各メール転送サーバ１０５Ａ等に転送されるメールデータを一時的に格納するメール格納領域（図１１の１００９）を備える。
【００９０】
図１０は、第１の実施の形態のメールゲートウェイ１０６の構成を示すブロック図である。
【００９１】
メールゲートウェイ１０６は、プロセッサ２０２、メモリ２０７、ネットワークインターフェース２０３及び不揮発性記憶装置２０８を備える。
【００９２】
記憶装置２０８は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、管理情報格納領域２１１及びログ格納領域２１０が設けられる。メール管理・格納領域２０５には、受信したメール（転送すべきメール）のメール本文およびメール管理情報が格納される。メール管理・格納領域２０５に格納されたメール管理情報は、転送先サーバへのメールの転送完了後に、消去される。
【００９３】
第２の実施の形態は、第１の実施の形態と異なり、不揮発性記憶装置２０８にバックアップ用のメール格納領域は保持せず、その代わりデータストアサーバ１０８へバックアップを格納する。
【００９４】
図１１は、第２の実施の形態のデータストアサーバ１０８の構成を示すブロック図である。
【００９５】
データストアサーバ１０８は、プロセッサ１１０２、メモリ１１０７、ネットワークインターフェース１１０３及び記憶装置１１０８を備える。
【００９６】
プロセッサ１１０２は、データストアサーバプログラム１１０４を実行する。プロセッサ１１０２がデータストアサーバプログラム１１０４を実行することによって、データストアサーバ１０８が行う各種処理を実現される。
【００９７】
ネットワークインターフェース１１０３は、事業者ネットワーク１０３に接続され、所定のプロトコルに従ってメールゲートウェイ１０６と通信する。記憶装置１１０８は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置である。データストアサーバプログラム１１０４は、メールゲートウェイ１０６のメール管理・格納領域２０５のバックアップ用の領域である、バックアップ用メール格納領域１１０５、バックアップ用メール格納領域１１０９を管理する。本実施例では、データストアサーバプログラム１１０４はバックアップ用メール格納領域１１０５とバックアップ用メール格納領域１１０９を保持するが、どちらか一方に保持するだけでも本発明は実施可能である。本実施の形態では、データストアサーバがキャッシュとしてバックアップ用メール格納領域１１０５にデータを保持し、主記憶装置としてバックアップ用メール格納領域１１０９にデータを保持する。
【００９８】
なお、バックアップ用メール格納領域１１０５とバックアップ用メール格納領域１１０９とは、本実施の形態では、メールを格納するだけだが、データストアサーバはメール以外のデータを格納することができ、格納するデータを一律バイナリデータとして扱うことが可能である。
図１２は、第２の実施の形態のメール転送処理の一例（メールデータが共有される場合）を示すシーケンス図である。
【００９９】
通信端末（メールクライアント）１０１は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ１０６にＭＡＩＬ  ＦＲＯＭメッセージ１２０１を送信し、このメールの送信元のアドレスを伝える。このＭＡＩＬ  ＦＲＯＭメッセージ１２０１のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ１０６は、ＭＡＩＬ  ＦＲＯＭメッセージを正しく受信すると、ＭＡＩＬ  ＦＲＯＭメッセージを正しく受信したことを示す２５０  ＯＫメッセージ１２０２をメールクライアント１０１に送信する。
【０１００】
次に、メールクライアント１０１は、メールゲートウェイ１０６にＲＣＰＴ  ＴＯメッセージ１２０３を送信し、このメールの一つの宛先アドレス（ａ１＠ａａａａ．ｎｅ．ｊｐ）を伝える。このＲＣＰＴ  ＴＯメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ１０６は、受信したＲＣＰＴ  ＴＯメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ１０８（メール格納領域１１０９）に格納する方式の一次的な判定をする（１２０４）。そして、宛先アドレスが正しいと判定された場合、２５０  ＯＫメッセージ１２０５をメールクライアント１０１に送信する。なお、このＲＣＰＴチェック１２０４には、前述した第１の実施の形態（図５）の方法を用いることができる。
【０１０１】
その後、このメールに複数の宛先がある場合、メールクライアント１０１はメールゲートウェイ１０６にＲＣＰＴ  ＴＯメッセージ１２０６を送信し、このメールの別の宛先アドレス（ｂ２＠ｂｂｂｂ．ｎｅ．ｊｐ）を伝える。メールゲートウェイ１０６は、受信したＲＣＰＴ  ＴＯメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ１０８に格納する方式の一次的な判定をする（１２０７）。そして、宛先アドレスが正しいと判定された場合、２５０  ＯＫメッセージ１２０８をメールクライアント１０１に送信する。なお、このＲＣＰＴチェック１２０７には、前述した第１の実施の形態（図５）の方法を用いることができる。
【０１０２】
メールクライアント１０１は、全てのＲＣＰＴ  ＴＯメッセージ（宛先アドレス）を送信すると、メール本文１２０９を送信する。
【０１０３】
メールゲートウェイ１０６は、メール（送信元、宛先等の管理情報及び本文）を正しく受信すると、メール管理・格納領域２０５へ格納し、メール本文の管理方式を判定し（１２１０）、判定された方式に基づいて、データストアサーバ１０８へ格納するパケットを作成し（１２１１）、作成された格納パケットをデータストアサーバ１０８に転送する（１２１２）。
【０１０４】
データストアサーバ１０８は、受信した格納パケットをメール格納領域１１０５とメール格納領域１１０９に格納し（１２１３）、受信したパケットの格納が完了したことを示す確認応答をメールゲートウェイ１０６に送信する（１２１４）。
【０１０５】
メールゲートウェイ１０６は、データストアサーバ１０８から確認応答を受信すると、メールを正しく受信したことを示す２５０  ＯＫメッセージ１２１５をメールクライアント１０１に送信する（１２１５）。
【０１０６】
その後、メールゲートウェイ１０６は、宛先ａ１が収容されるメール転送サーバＡ（１０５Ａ）にメールを送信する（１２１６）。メール転送サーバＡ（１０５Ａ）は、メールを正しく受信すると、メールを正しく受信したことを示す２５０ ＯＫメッセージ１２１７をメールゲートウェイ１０６に送信する（１２１７）。メールゲートウェイ１０６は、ａ１宛のメールの転送に成功すると、ａ１宛のメールを削除する要求をデータストアサーバ１０８に送信する（１２１８）。データストアサーバ１０８は、ａ１宛のメールを削除する要求を受信すると、ａ１宛のメールをメール格納領域１１０５とメール格納領域１１０９から削除する。メールゲートウェイ１０６は、データストアサーバから削除の成功応答１２１９を受信すると、ａ１宛のメールの管理情報をメール管理・格納領域２０５から削除する（１２２０）。
【０１０７】
また、メールゲートウェイ１０６は、宛先ｂ２が収容されるメール転送サーバＢ（１０５Ｂ）にメールを送信する（１２２１）。メール転送サーバＢ（１０５Ｂ）は、メールを正しく受信すると、メールを正しく受信したことを示す２５０ ＯＫメッセージ１２２２をメールゲートウェイ１０６に送信する（１２２２）。メールゲートウェイ１０６は、ｂ２宛のメールの転送に成功すると、ｂ２宛のメールを削除する要求をデータストアサーバ１０８に送信する（１２２３）。データストアサーバ１０８は、ｂ２宛のメールを削除する要求を受信すると、メールゲートウェイ１０６は、ｂ２宛のメールをメール格納領域１１０５とメール格納領域１１０９から削除し、データストアサーバから削除の成功応答１２２４を送信する。メールゲートウェイ１０６は、成功応答１２２４を受信すると、ｂ２宛のメールの管理情報をメール管理・格納領域２０５から削除し（１２２５）、ａ１宛のメールとｂ２宛のメールとで共通に管理されたメール本文のデータをキューから削除する（１２２６）。
【０１０８】
図１３は、第２の実施の形態のデータストアサーバ１０８へ送信されるパケットの一例を説明する図である。
【０１０９】
データストアサーバ１０８へ送信されるパケットは、パケット種別１３１０、キー数１３００、複数のキー１３０１、１３０３、複数の拡張キーデータ１３０２、１３０４、及び、登録データ１３０９を含む。
【０１１０】
パケット種別１３１０は、このパケットを受信したデータストアサーバ１０８によって実行される処理（例えば、登録、削除など）を示す。
【０１１１】
キー数１３００は、このパケットに含まれるキーの数を表す。なお、図１３には二つのキーを示したが、キーの数は一つでも任意の複数でもよい。キー１３０１、１３０３は、キーに対応するメール管理情報を一意に識別するための識別子である。拡張キーデータ１３０２、１３０４は、キーに対応するメール管理情報と基本のメール管理情報との差分のデータを格納する。なお、基本のメール管理情報は、最初のメール管理情報を用いるとよい。登録データ１３０９は、メール管理情報及びメール本文を含む。
【０１１２】
第２の実施の形態においても、メールゲートウェイ１０６は、メール管理方法１〜３のいずれかによってメールを管理する。
【０１１３】
図１４は、第２の実施の形態のメールゲートウェイ１０６で実行されるメール管理を説明する図であり、完全分離方式（図３Ａ）の場合を示す。
【０１１４】
まず、宛先毎にメールデータ（メール管理情報、メール本文）が作成される。その後、元のメール１４００及びコピーによって新たに作成されたメール１４１０の各々にキー１３０１、１３０３が割り当てられる。
【０１１５】
そして、各メールのメール管理情報と最初のメールのメール管理情報とを比較し、その差分を拡張キーデータ２（１３０４）に格納する。なお、拡張キーデータ１（１３０２）に対応するメール管理情報には差分が生じないので、拡張キーデータ１（１３０２）には差分がないことを示す情報を格納する。
【０１１６】
図１５は、第２の実施の形態のメールゲートウェイ１０６によって実行されるパケット構成処理のフローチャートである。
【０１１７】
まず、２番目のメールのメール管理情報を選択し（１５０１）、選択されたメール管理情報に対応するキーを作成する（１５０２）。
【０１１８】
そして、選択されたメール管理情報と、最初のメール管理情報との差分を抽出し（１５０３）、対応するキーの拡張キーデータに抽出された差分を格納して、格納キーデータを作成する（１５０４）。
【０１１９】
その後、次のメール管理情報があるか否かを判定する（１５０５）。次のメール管理情報があれば、ステップ１５０２に戻り、次のメールを処理する。一方、次のメール管理情報がなければ、全てのメール管理情報について処理が完了したので、作成された拡張キーデータを連結して、データストアサーバ１０８へ送信されるパケットを構成する（１５０６）。
【０１２０】
図１６は、第２の実施の形態のデータストアサーバ１０８におけるデータの格納を説明する図である。
【０１２１】
まず、キー毎の格納領域１６２１、１６２２をメール格納領域１１０９に確保し、確保された格納領域に登録データ１３０９を格納する。その後、格納領域に各キーに対応した拡張キーデータ１３０２、１３０４を格納する。
【０１２２】
以上説明したデータストアサーバ１０８は、宛先毎にメールデータを分離して格納する。これは、一般に、データストアサーバ１０８は、記憶容量が十分にあり、高速に処理することができるためであり、また、データストアサーバ１０８は、メールゲートウェイ１０６から送信されたデータをメールと認識しておらず、メール、テキスト、画像でも同様に扱うだけである。しかし、データストアサーバ１０８がメールデータを格納する場合、宛先毎にメールデータを再構築して、共通化できる部分をまとめることもできる。
【０１２３】
図１７は、第２の実施の形態のデータストアサーバ１０８によって実行されるパケット構成処理のフローチャートである。
【０１２４】
データストアサーバ１０８は、メールゲートウェイ１０６からパケットを受信すると、受信したパケットのパケット種別１３１０を判定する。そして、受信したパケットのパケット種別１３１０が「登録」であれば、格納パケットを受信したと判定し、パケット格納処理を開始する（１７０１）。
【０１２５】
まず、受信した格納パケットから、該パケットに含まれるキーの数を取得して、ループの回数を判定する（１７０２）。次に、受信したパケットから、キー及びキー拡張データを取得し（１７０３、１７０４）、次のキーがなくなるまで（取得したキーの数がステップ１７０２で取得したキー数と等しくなるまで）、ステップ１７０３〜１７０４の処理を繰り返す（１７０５）。その後、受信した格納パケットから登録データ（メール管理情報、メール本文）を取得する（１７０６）。
【０１２６】
その後、取得したキーのうち最初のキーを一つ選択し（１７０７）、選択されたキーに対応するデータ格納領域を確保する（１７０８）。そして、ステップ１７０６で取得した登録データと拡張キーデータとを確保されたデータ格納領域に格納する（１７０９）。そして、全てのキーの処理が完了するまでステップ１７０７〜１７０９の処理を繰り返す。
【０１２７】
以上説明したように、本発明の第２実施形態によると、メールゲートウェイ１０６とは別にデータストアサーバ１０８を設けた場合であっても、適切なメール管理方式を選択し、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
【０１２８】
また、メールゲートウェイ１０６は、基本となるメールデータ（メール本文、メール管理情報）と各メール管理情報の差分のみをデータストアサーバ１０８に送信するので、メールゲートウェイ１０６からデータストアサーバ１０８に送信されるデータ量の増加を抑制することができる。
【０１２９】
さらに、データストアサーバ１０８は、メールゲートウェイ１０６から受信したメールデータを再構築することなく、メール格納領域１１０９に格納するので、データストアサーバ１０８は、メールにおける処理を高速化することができる。
【符号の説明】
【０１３０】
１０１  通信端末
１０２  無線ネットワーク
１０３  事業者ネットワーク
１０４  ネットワーク
１０５Ａ〜Ｃ  メール転送サーバ
１０６  メールゲートウェイ
１０７  メールボックスサーバ
１０８  データストアサーバ
【図１】
0005607461.tif 000002
【図２】
0005607461.tif 000003
【図３Ａ】
0005607461.tif 000004
【図３Ｂ】
0005607461.tif 000005
【図３Ｃ】
0005607461.tif 000006
【図４】
0005607461.tif 000007
【図５】
0005607461.tif 000008
【図６】
0005607461.tif 000009
【図７】
0005607461.tif 000010
【図８】
0005607461.tif 000011
【図９】
0005607461.tif 000012
【図１０】
0005607461.tif 000013
【図１１】
0005607461.tif 000014
【図１２】
0005607461.tif 000015
【図１３】
0005607461.tif 000016
【図１４】
0005607461.tif 000017
【図１５】
0005607461.tif 000018
【図１６】
0005607461.tif 000019
【図１７】
0005607461.tif 000020