メール転送システム、メールゲートウェイ及びデータストアサーバ
【課題】メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化する。
【解決手段】メールゲートウェイとネットワークとを備えるメール転送システムであって、受信したメールが一時的に格納されるデータ格納領域を備え、前記メールゲートウェイは、前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納する。
【解決手段】メールゲートウェイとネットワークとを備えるメール転送システムであって、受信したメールが一時的に格納されるデータ格納領域を備え、前記メールゲートウェイは、前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メール転送システムに関し、特に、複数宛先へ送信されるメールを格納するための記憶容量を削減し、かつ、メールの転送を効率化するメール転送システムに関する。
【背景技術】
【0002】
電子メールを宛先ノードまで転送するメール中継装置(メールゲートウェイ、メール転送サーバ等)は、受信したメールを一時的に記憶装置(磁気ディスクドライブ等)に保存し、保存されたメールを指定された宛先へ転送する。このようなメール中継装置では、記憶装置へのデータの読み書きが性能のボトルネックとなっている。
【0003】
また、メール中継装置が複数宛先のメールを受信し、同じ電子メールを複数の宛先に送信する際、メールの宛先分、メールを複製し、複製された複数のメールを記憶装置に格納する方法が提案されている。この場合、複製されたメールの数によって記憶装置の容量を消費し、記憶装置の読み書き回数が増加し、性能上のボトルネックとなる。このため、電子メールの格納に必要なデータ量を減らしつつ、効率的な電子メールの転送を実現することが課題となっている。
【0004】
このメールを格納するための記憶装置の削減と、メールの管理・転送の効率化はトレードオフの関係にあり、両立させることが求められている。
【0005】
この課題に対し、例えば、特許文献1に記載されたメールシステムが提案されている。この特許文献1に記載されたメールシステムでは、メールの本体と送信情報とを分離し、送信情報を登録するメール情報格納部と、メール情報格納部のデータを管理するメール管理部とを設けることによって、メールを、宛先毎ではなく、メールの格納領域に配送している。このため、同じ電子メールを複数の宛先に送信する際、電子メールの格納に必要なデータ量を減少している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−264234号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
例えば、携帯電話事業者が運用するメール中継装置は、メールの種類によって処理の内容が異なる。具体的には、ドメイン毎にメールの輻輳を制御するために、一般に、メールの転送先のメール中継装置(ドメイン)毎に送信キューを備える。
【0008】
しかし、前述した従来の方法は、このような複数の送信キューを備えるメール中継装置に適用されることが考慮されていなかった。すなわち、宛先アドレスが含まれるドメインによってアクセス制御やトランスコーディングを行う必要がある。
【0009】
また、同一キュー内でも宛先によって、メールの転送の失敗・成功が混在する場合がある。従来の方法では、メールの転送の失敗・成功が複数宛先において混在することは考慮されていなかった。
【0010】
そこで、本発明は、メールの格納に必要な記憶容量を削減し、メールの中継処理の効率化を目的とする。
【課題を解決するための手段】
【0011】
本発明の代表的な一例を示せば以下の通りである。すなわち、端末から送信された電子メールを受信するメールゲートウェイと、前記端末と前記メールゲートウェイとを接続するネットワークと、を備えるメール転送システムであって、前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、前記メールゲートウェイは、複数のメール転送サーバと接続されており、転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に備え、前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納する。
【発明の効果】
【0012】
本発明の実施の形態によると、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施の形態のメール転送システムの構成を示すブロック図である。
【図2】本発明の第1の実施の形態のメールゲートウェイの構成を示すブロック図である。
【図3A】本発明の第1の実施の形態で用いられるメール管理方式を説明する図である。
【図3B】本発明の第1の実施の形態で用いられるメール管理方式を説明する図である。
【図3C】本発明の第1の実施の形態で用いられるメール管理方式を説明する図である。
【図4】本発明の第1の実施の形態のメール転送処理のシーケンスの一例(メールデータが共有される場合)を示す。
【図5】本発明の第1の実施の形態のRCPTチェック処理のフローチャートである。
【図6】本発明の第1の実施の形態の管理方式判定処理(メール本文チェック処理)のフローチャートである。
【図7】本発明の第1の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合の処理のシーケンス図である。
【図8】本発明の第1の実施の形態のメール送信・削除処理のフローチャートである。
【図9】本発明の第2の実施の形態のメール転送システムの構成を示すブロック図である。
【図10】本発明の第2の実施の形態のメールゲートウェイの構成を示すブロック図である。
【図11】本発明の第2の実施の形態のデータストアサーバの構成を示すブロック図である。
【図12】本発明の第2の実施の形態のメール転送処理の一例(メールデータが共有される場合)を示すシーケンス図である。
【図13】本発明の第2の実施の形態のデータストアサーバへ送信されるパケットの一例を説明する図である。
【図14】本発明の第2の実施の形態のメールゲートウェイで実行されるメール管理を説明する図である。
【図15】本発明の第2の実施の形態のメールゲートウェイによって実行されるパケット構成処理のフローチャートである。
【図16】本発明の第2の実施の形態のデータストアサーバにおけるデータの格納を説明する図である。
【図17】本発明の第2の実施の形態のデータストアサーバによって実行されるパケット構成処理のフローチャートである。
【発明を実施するための形態】
【0014】
<実施形態1>
図1は、本発明の第1の実施の形態のメール転送システムの構成を示すブロック図である。
【0015】
本実施の形態のメール転送システムは、事業者ネットワーク103内に構成されており、メールゲートウェイ106及びメールボックスサーバ107を備える。メールゲートウェイ106とメールボックスサーバ107とは、事業者ネットワーク103によって接続されている。
【0016】
事業者ネットワーク103は、無線ネットワーク102を介して通信端末101に接続されており、ネットワーク104を介して複数のメール転送サーバ105A〜105Cに接続されている。
【0017】
メールゲートウェイ106は、通信端末101から送信された電子メールのデータを受信し、受信したメールデータをメール転送サーバ105A等に転送するコンピュータである。また、メールゲートウェイ106は、電子メールの他に、メールの宛先毎に課金情報、携帯電話にメールが届いたことを知らせる通知、メールの送信者が宛先へ正常にメールが送信されたことを示す配信通知等のメッセージを送信する機能を持つ。これらのメッセージは、メッセージを宛先に送信する点において、電子メールの送信と同じ機構で実現できる。本実施例では、これらのメッセージについては記述しないが、本発明をこれらのメッセージに適用することは可能である。メールゲートウェイ106の構成は、図2を用いて後述する。
【0018】
メールボックスサーバ107は、メールゲートウェイ106が受信し、自網に収容される通信端末101宛のメールのデータを格納するコンピュータであり、いわゆる、POPサーバやIMAPサーバである。
【0019】
無線ネットワーク102は、基地局及び交換機を備え、無線通信回線を介して通信端末101と接続する。 通信端末101は、携帯電話機などの携帯通信端末で、MMS、インターネットメール等のメールを送受信する機能を有する。
【0020】
メール転送サーバ105A〜105Cは、メールゲートウェイ106が受信したメールデータの転送先となる計算機である。メール転送サーバ105A〜105Cは、宛先アドレスが収容されるメールサーバでも、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【0021】
ネットワーク104は、インターネットなどの、複数のメール転送サーバ間でメールデータが交換されるネットワークである。
【0022】
図2は、第1の実施の形態のメールゲートウェイ106の構成を示すブロック図である。
【0023】
メールゲートウェイ106は、プロセッサ202、メモリ207、ネットワークインターフェース203及び不揮発性記憶装置208を備える。
【0024】
プロセッサ202は、メールゲートウェイプログラム204を実行する。プロセッサ202がメールゲートウェイプログラム204を実行することによって、メールゲートウェイ106が行う各種処理が実現される。
【0025】
ネットワークインターフェース203は、事業者ネットワーク103に接続され、所定のプロトコルに従って通信する。記憶装置208は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、メール格納領域209及びログ格納領域210が設けられる。
【0026】
メールゲートウェイ106は、メールの転送先のドメイン(メール転送サーバ)毎に送信キューを備え、受信したメールを送信キューに格納する。送信キューに格納されたメールは、転送先のメール転送サーバ105A等へ転送される。また、メールゲートウェイ106は、受信したメールをメール管理・格納領域205とバックアップ用のメール格納領域209の両方に格納する。メール管理・格納領域205はメモリ207上にあり、不揮発性記憶装置208と比較し読み書きが高速であるため、通常メールゲートウェイ106はメール管理・格納領域205上のメール管理情報(詳細は図3で説明)の読み書きを行い各種処理を行う。ただし、メールゲートウェイ106が停止するとメモリ207上のデータは失われるため、メールゲートウェイ106が障害等で停止しても受信したメールを失わないようにバックアップ用のメール格納領域209にも受信したメールを記憶する。
メール管理・格納領域205とメール格納領域209に格納されたメールは、転送先サーバへのメールの転送完了後に、消去される。通常、メールゲートウェイ106は、バックアップ用のメール格納領域209へはメール受信時におけるメールの格納と、転送完了後の削除の2回のアクセスしか行わない。
【0027】
図3Aから図3Cは、第1の実施の形態で用いられるメール管理方式を説明する図である。
【0028】
メールゲートウェイ106が受信したメールのデータは、図のメール本文として格納する。。メール管理情報は、メールの転送処理をするためにメールゲートウェイ106がメールクライアントの通信やメール本文の解析から作成したデータであり、メール中継装置間でメールを転送する際に転送される情報であって、宛先、送信元、認証情報、メールの用途、メールの種別などを含む。メールゲートウェイ106は、メール管理情報を使って、メールの転送を処理する。
【0029】
第1の方式である完全分離方式は、図3Aに示すように、メールの本文をコピーすることによって、メールの宛先の数だけメール本文を作成し、メール宛先毎にメールデータ(メール管理情報、メール本文)を作成する。後述するように、宛先毎にメール本文を書き替えた後に転送する必要がある場合には完全分離方式が適用されるが、複数宛先のメールの本文が同一である場合にも完全分離方式を適用することができる。この完全分離方式では、メール本文を含むメールデータが宛先毎に作成されるので、メールデータを格納するために多くの記憶領域を必要とするが、宛先毎のメールの状態(転送完了、不達など)の管理や、障害発生時のメールの復旧処理が容易である利点がある。
【0030】
第2の方式であるメール本文共有方式は、図3Bに示すように、宛先毎に複数のメール管理データが作成されるが、メール本文は各メール管理データに共通である。各メール管理データはメール本文とリンクされることによって、その対応が管理される。すなわち、メール本文共有方式では、各メール管理データには一つの宛先が含まれ、メール本文は全メール管理データ(全宛先)に共通である。メール本文共有方式は、後述するように、複数の宛先のドメインが異なる場合に適用される。また、メール本文共有方式は、自網宛の複数の宛先にメールを転送する場合、宛先のメールボックス毎にメールデータを分割する場合に適用される。この場合、メール格納領域に格納されるデータは、宛先のメールボックス毎のメール管理情報と、一つのメール本文とによって構成される。
【0031】
メール本文共有方式では、複数のメール管理データによってメール本文が共有されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。しかし、メール本文共有方式では、宛先毎のメールの状態の管理に参照カウンタを用いる等、メールの管理が複雑であり、障害発生時のメールの復旧処理が複雑である。
【0032】
第3の方式である複数宛先・メール本文共有方式は、図3Cに示すように、複数のメール管理データが作成され、メール本文は各メール管理データに共通であるが、各メール管理データには一つ又は複数の宛先が含まれる。各メール管理データはメール本文とリンクが張られることによって、その対応が管理される。複数宛先・メール本文共有方式は、後述するように、同一のメール転送サーバ105A等に収容される複数の宛先に転送されるメールである場合に適用される。しかし、複数宛先・メール本文共有方式は、自網内の宛先が複数ある場合には適用できない。これは、自網内ではメールゲートウェイ106から宛先のメールボックス宛にメールが転送されるので、宛先メールボックス毎にメールの状態(転送成功、不達など)を管理する必要があるからである。また、自網内では、メールボックスサーバ107、配信通知送信サーバ、DNS等の複数のサーバが連携して処理が行われているため、自網内の宛先毎にメールの状態が宛先毎に異なることからも、複数宛先・メール本文共有方式は適さない。
【0033】
複数宛先・メール本文共有方式は、宛先毎に作成されるメールデータにはメール管理情報のみが含まれ、メール本文は各メール管理データで共有され、さらに、メール管理情報が複数の宛先で共通化されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。一方、複数宛先・メール本文共有方式では、メール管理情報に含まれる宛先の数が異なるので、メールの状態(転送成功、不達など)の管理が複雑になる。この場合、転送成功(又は、不達)をログに出力する、又はメール管理情報に記録すれば、メールの状態によって処理を分離することができる。
【0034】
さらに、複数宛先・メール本文共有方式では、処理が完全に異なる場合には適用できない。分離しているものには適用できない。
【0035】
前述したように、メールゲートウェイ106は、転送先ドメイン毎に送信キューを備える。このため、異なるドメインへ送信されるメールは状態が異なるので、メール管理情報を複数に分けることが望ましい。このため、本実施の形態では、前述した三つのメール管理方式を使い分ける。
【0036】
図4は、第1の実施の形態のメール転送処理のシーケンスの一例(メールデータが共有される場合)を示す。
【0037】
なお、メール転送サーバ105A、105Bは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【0038】
通信端末(メールクライアント)101は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ106にMAIL FROMメッセージ401を送信し、このメールの送信元のアドレスを伝える。このMAIL FROMメッセージ401のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ106は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージ402をメールクライアント101に送信する。
【0039】
次に、メールクライアント101は、メールゲートウェイ106にRCPT TOメッセージ403を送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える。このRCPT TOメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域205とメール格納領域209に格納する方式の一次的な判定をする(404)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ405をメールクライアント101に送信する。なお、このRCPTチェック404の詳細は、図5を用いて後述する。
【0040】
その後、このメールの宛先が複数である場合、メールクライアント101はメールゲートウェイ106にRCPT TOメッセージ406を送信し、このメールの別の宛先アドレス(b2@bbbb.ne.jp)を伝える。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域205とメール格納領域209に格納する方式の一次的な判定をする(407)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ408をメールクライアント101に送信する。なお、このRCPTチェック404の詳細は、図5を用いて後述する。
【0041】
メールクライアント101は、全てのRCPT TOメッセージ(宛先アドレス)を送信すると、メール本文409を送信する。
【0042】
メールゲートウェイ106は、メール(送信元、宛先等の管理情報及び本文)を正しく受信すると、メール本文の管理方式を判定し(410)、判定された方式に基づいて、a1宛のメール管理情報、b2宛のメール管理情報、及び、メール本文をメール管理・格納領域205とメール格納領域209へ格納する(411、412、413)。その後、メールゲートウェイ106は、メールを正しく受信したことを示す250 OKメッセージ414をメールクライアント101に送信する。
【0043】
その後、メールゲートウェイ106は、宛先a1が収容されるメール転送サーバA(105A)にメールを転送する(415)。メール転送サーバA(105A)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ416をメールゲートウェイ106に送信する。メールゲートウェイ106は、a1宛のメールの転送に成功すると、a1宛のメールの管理情報をメール管理・格納領域205とメール格納領域209から削除する(417)。
【0044】
また、メールゲートウェイ106は、宛先b2が収容されるメール転送サーバB(105B)にメールを転送する(418)。メール転送サーバB(105B)は、メールを受信すると、メールを正しく受信したことを示す250 OKメッセージ419をメールゲートウェイ106に送信する。その後、メールゲートウェイ106は、b2宛のメールの転送に成功すると、b2宛のメールの管理情報をメール管理・格納領域205とメール格納領域209から削除する(420)。
【0045】
さらに、メールゲートウェイ106は、全ての宛先へのメールの送信が完了すると、メールデータをメール管理・格納領域205とメール格納領域209から削除する(421)。
【0046】
なお、ステップ410における判定の結果によって、前述したシーケンスは若干異なってくる。例えば、ステップ410において、メールを完全分離方式で処理すると判定された場合(図6のステップ605)、ステップ417で、a1宛のメールの管理情報及びメール本文を削除し、ステップ420で、b2宛のメールの管理情報及びメール本文を削除すればよい。完全分離方式では、メール管理情報とメール本文とは1対1対応しているので、このようにすれば、ステップ421でメール本文を削除しなくてもよい。
【0047】
また、ステップ410において、メールを複数宛先・メール本文共有方式で処理すると判定された場合(図5のステップ513。なお、この場合、ドメインA.comの宛先が二つある)、ステップ415で、2通のメールを送信し(2件のRCPT TOを連続して送信し)、ステップ417で、a1宛メールの管理情報(2宛先が格納されている)を削除し、ステップ420で、b2宛メールの管理情報を削除し、ステップ421で共通のメール本文を削除すればよい。
【0048】
図5は、第1の実施の形態のRCPTチェック処理のフローチャートであり、図4のステップ404、407でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。このRCPTチェック処理では、メールのヘッダ(特に、宛先アドレス)を解析して、メールの管理方式を判定する。
【0049】
まず、宛先メールアドレスを参照して、宛先が属するドメインに対応する送信キューを選択する(501)。
【0050】
その後、ステップ501で選択された送信キューが規制状態であるか否かを判定する(502)。その結果、選択された送信キューが規制状態である場合、この宛先へメールを送信することができないので、メールクライアント101にエラーメッセージを送信する(503)。一方、選択された送信キューが規制状態ではない場合、ステップ504に進む。
【0051】
ステップ504では、このメールの宛先の数(RCPT数)を計数し(504)、計数されたRCPT数が、一つのメール内で許容される最大値を超えているか否かを判定する(505)。その結果、計数されたRCPT数がメールの最大値を超えている場合、この宛先へメールを転送することができないので、メールクライアント101にエラーを応答する(506)。一方、計数されたRCPT数がメールの最大値に達していない場合、ステップ507に進む。
【0052】
ステップ507では、計数されたRCPT数が”1”であるか否かを判定する。その結果、計数されたRCPT数が”1”であれば、このメールは一つの宛先に転送すればよいので、この宛先のRCPT情報を記述したメール管理情報を作成し、このRCPTチェック処理を終了する(508)。一方、計数されたRCPT数が”1”でなければ、このメールは複数の宛先に転送する必要があるので、ステップ509に進む。
【0053】
ステップ509では、宛先メールアドレスが自網内に含まれるアドレスであるか否かを判定する。その結果、宛先メールアドレスが自網内に含まれるアドレスでなければ、ステップ511に進む。一方、宛先メールアドレスが自網内に含まれないアドレスであれば、メールボックスサーバ107からユーザ情報を取得し(510)、ステップ511に進む。このユーザ情報には、このユーザの端末受信できる添付ファイルの情報(特に、画像ファイルの形式及び大きさ)、メールの転送先のメールボックスの情報、及びこのメールボックスの処理をするサーバの構成の情報が含まれる。
【0054】
ステップ511では、この宛先と同一ドメインの宛先があるか否かを判定する。その結果、この宛先と同一ドメインの宛先がなければ、この宛先と同一のメール転送サーバ105A等に転送される宛先がなく、この宛先に対応するメール管理情報を作成する必要があるので、ステップ514に進む。一方、この宛先と同一ドメインの宛先があれば、RCPT数が網外最大値を超過しているか否かを判定する(512)。RCPT数の最大値とは、一つのメール、すなわち、一つのメール管理情報でまとめて送信できる宛先の最大数である。その結果、この宛先が網外であり、RCPT数が網外最大値を超過していれば、ステップ514に進む。一方、RCPT数が網外最大値を超過していなければ、メール本文が共通する形式でまとめられたメールデータを作成することができる。このため、この宛先のRCPT情報を同一ドメインの宛先のメール管理情報に追加する(513)。なお、ステップ512において、メールゲートウェイ106はシステム全体で網外最大値を一つだけ持つだけでなく、宛先ドメイン毎に個別に網外最大値を設定することが可能である。例えば、宛先が通信キャリアなど送信失敗の確率が非常に低いドメインであれば、メールゲートウェイ106が大きい網外最大値を選択する。一方、送信失敗の確率が高いドメインである場合は失敗する可能性が高いため、小さい網外最大値または同一ドメインで宛先をまとめないでステップ514へ進むという処理が可能である。
【0055】
この宛先と同一ドメインの宛先がなく、又は、RCPT数が網外最大値(又は、ドメイン毎の最大値)を超過している場合、この宛先のメールは別な送信キューに格納されるので、別なメール管理情報を作成する必要がある。このため、ステップ514では、新たなメール管理情報を作成し(514)、この宛先のRCPT情報を作成したメール管理情報に追加する(515)。なお、ステップ512でRCPT数が最大値を超過して、ステップ514で新たなメール管理情報を作成した場合、新たなメール管理情報でRCPT数が最大値を超過するまで、次以降のメールをまとめることができる。
【0056】
図6は、第1の実施の形態の管理方式判定処理(メール本文チェック処理)のフローチャートであり、図4のステップ410でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。このメール本文チェック処理では、メール本文を解析して、メールの管理方式を判定する。すなわち、メール本文を解析することによって、既にRCPTチェック処理(図5)でメール本文を共有して管理すると判定されたメールを、メール本文が分離された形式に管理方式を変更する。
【0057】
まず、メール管理情報を参照して、メール本文を解析すべきメール管理情報があるか否かを判定する(601)。その結果、対象となるメール管理情報がなければ、このメール本文チェック処理を終了する。一方、対象となるメール管理情報があれば、ステップ602に進む。
【0058】
ステップ602では、この宛先のメール管理情報を解析する。具体的には、メール本文の形式、添付ファイルの有無、及び、ユーザ情報の有無をチェックする。なお、このユーザ情報は、図5のステップ510で取得された情報である。
【0059】
次に、ステップ602における判定結果に基づいて、このメールの宛先が自網内か、画像ファイルが添付されているか、及び、ユーザ情報の設定が異なるかを判定する(603)。その結果、このメールの宛先が自網内であり、画像ファイルが添付されており、かつ、ユーザ情報の設定が異なる場合、画像ファイルの変換が必要なので、ステップ605に進む)。一方、このメールが網外のメール転送サーバ宛である、画像ファイルが添付されていない、又は、ユーザ情報の設定が同じのいずれかの条件を満たす場合、ステップ604に進み、メールの形式がcHTML形式であるか否か、すなわち、このメールがデコメであるか否かを判定する。
【0060】
その結果、メールの形式がcHTML形式であれば、の変換が必要なので、ステップ605に進む。
【0061】
ステップ605では、宛先に従ってメール本文を分離して管理するために、メール本文をコピーし、メール管理情報を分離し、分離したメール管理情報をコピーされたメール本文に付加して宛先キューに格納する(605)。
【0062】
図6に示す管理方式判定処理では、メールの形式がcHTML形式であるか否かを判定
したが、メールの形式がプレーンテキスト形式であるか否かを判定し、メールの形式がプレーンテキスト形式であれば、メール本文の変換は必要がないと判定することもできる。
【0063】
さらに、メール本文に絵文字が含まれているかを判定し、メール本文に絵文字が含まれていれば、メール本文の変換が必要であると判定することもできる。
【0064】
図7は、第1の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合のシーケンス図である。
【0065】
なお、メール転送サーバ105Aは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【0066】
まず、メールゲートウェイ106は、メール転送サーバA(105A)に、MAIL FROMメッセージを送信し、このメールの送信元アドレスを伝える(701)。メール転送サーバA(105A)は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージを、メールゲートウェイ106に送信する(702)。
【0067】
次に、メールゲートウェイ106は、メール転送サーバA(105A)に、RCPT TOメッセージを送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える(703)。メール転送サーバA(105A)は、RCPT TOメッセージに含まれる宛先アドレスがメール転送サーバA(105A)に収容されているか否かを判定する。この宛先アドレスがメール転送サーバA(105A)に収容されている場合、メール転送サーバA(105A)は、250 OKメッセージを、メールゲートウェイ106に送信する(704)。
【0068】
さらに、メールゲートウェイ106は、メール転送サーバA(105A)に、RCPT TOメッセージを送信し、このメールのもう一つの宛先アドレス(b2@aaaa.ne.jp)を伝える(705)。メール転送サーバA(105A)は、RCPT TOメッセージに含まれる宛先アドレスがメール転送サーバA(105A)に収容されているか否かを判定する。この宛先アドレスがメール転送サーバA(105A)に収容されていない場合、メール転送サーバA(105A)は、エラー応答をメールゲートウェイ106に送信する(706)。
【0069】
メールゲートウェイ106は、エラー応答を受信すると、未達通知を要求するために、
メール本文をコピーして分離する。(707)。 メールゲートウェイ106は、メールクライアント101にアドレス b2@aaaa.ne.jp宛のメールの未達を通知する(709)。メールクライアント101は、メールゲートウェイ106から未達通知を正しく受信すると、メールゲートウェイ106に、未達通知の応答を送信する(710)。メールゲートウェイ106は、未達通知の応答を受信すると、アドレスb2@aaaa.ne.jp宛のメールが未達であること、すなわち未達通知の送信成功をメール管理情報及びログに出力する(711)。なお、ステップ707の代わりに、メールゲートウェイ106が705のメールの送信に失敗したことをメール管理・格納領域205とバックアップ用メール格納領域209、およびログへ書き込み、未達通知だけのメール管理領域を作成すれば、メール本文を分離しないでもステップ707〜711の処理が実現可能である。
【0070】
メールゲートウェイ106は、ステップ707で分離されたメール本文はステップ709、710と並行して、アドレスa1@aaaa.ne.jp宛のメールとして、メール転送サーバA(105A)に送信する(713)。メール転送サーバA(105A)は、メール本文を正しく受信すると、メール本文を正しく受信したことを示す250 OKメッセージを、メールゲートウェイ106に送信する(714)。
【0071】
メールゲートウェイ106は、メール本文の送信に対する確認応答(250 OK)を受信すると、メール本文の送信成功をメール管理情報及びログに出力する(715)。以上の処理によって、メールゲートウェイ106は、a1@aaaa.ne.jp宛のメールの転送の成功と、b2@aaaa.ne.jp宛のメールの転送の失敗(未達)とが確定したので、メール管理情報及びメールデータ(本文)をメール管理・格納領域205とメール格納領域209から削除する(716)。
【0072】
なお、メールゲートウェイ106は、メールクライアント101への未達通知(709〜710)と、メール本文の分離、転送(712〜715)とを別スレッドで並行して処理しているが、メールクライアント101への未達通知(709〜710)と、メール本文の分離、転送(713〜716)とを順に処理すれば一つのスレッドで処理ができる。
【0073】
図7に示すシーケンスでは、転送の結果を逐次にメール管理情報及びログに出力することによって、メールの状態を単純化して管理することができる。例えば、メールの転送が成功した場合、ログへの出力によって配信処理を終了状態にすることができる。
【0074】
図8は、第1の実施の形態のメール送信・削除処理のフローチャートであり、図4のステップ515〜521でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。
【0075】
メールゲートウェイ106は、メール転送サーバ(又は、次のメール転送サーバ)にメール本文を送信し(801)、転送先のメール転送サーバからの返信を待つ。メールゲートウェイ106は、転送先のメール転送サーバからの返信を判定する(802)。転送先のメール転送サーバからの返信が送信成功であった場合、ステップ803に進み、メールデータを削除する処理を開始する。一方、転送先のメール転送サーバからの返信が送信失敗であった場合、ステップ808に進み、未達通知を要求する。
【0076】
ステップ803では、メールの送信に成功しているので、メールデータの参照数(参照カウンタ)から1を減算し、メール送信の成功をログに出力し、メール送信が成功したアドレスの管理情報に含まれる状態を送信済みに変更する。
【0077】
その後、メール管理情報に含まれる状態を参照して、全ての宛先へのメールの送信が完了したか否かを判定する(804)。なお、参照カウンタには、このメールのメール管理情報の数が設定される。
【0078】
判定の結果、一部のメールの送信が完了していなければ、他のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。一方、全てのメールの送信が完了していれば、メール本文にリンクされる未送信のメールのメール管理情報の数を示す参照カウンタをチェックする(805)。その結果、参照カウンタが0であれば(806でYES)、全ての宛先へのメールの送信が完了しているので、メール本文及びメール管理情報を削除し(807)、このメール送信・削除処理を終了する。一方、メールデータの参照数が0でなければ(806でNO)、一部の宛先へメールが未送信なので、未送信のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。
【0079】
一方、ステップ808では、メールの送信が失敗しているので、このメールの再送回数が最大再送回数を超過しているか否か、及び、有効期限切れであるか否かを判定する(808)。このメールの再送回数が最大再送回数を超過しておらず、かつ、有効期限切れでもない場合は、この宛先へメールを再送するために、このメール送信・削除処理を終了して、次のメール送信・削除処理を開始する。
【0080】
一方、最大再送回数が超過している場合、又は、有効期限切れである場合は、この宛先へメールを再送する必要がなく、この宛先へのメールの送信はエラーとして処理されるので、参照カウンタから1を減算し、メール送信の失敗をログに出力し、メール送信が失敗したアドレスのメール管理情報に含まれる状態を送信済みに変更する(809)。その後、未達通知を要求し(810)、ステップ804に進む。すなわち、メールクライアン101トが未達通知を受信した場合は、送信済み扱いとする。
【0081】
以上説明したように、本発明の第1実施形態によると、メール管理情報及びメール本文によってメールの管理方式を決定し、メールによって適切なメール管理をするので、メールの格納に必要な記憶容量を削減し、かつ、メールの中継処理を効率化することができる。
【0082】
また、まずメール管理情報によってメール管理方式を一次的に決定し、その後メール本文によってメール管理方式を最終決定するので、メールの管理方式を効率的に決定することができる。
【0083】
<実施形態2>
次に、本発明の第2の実施の形態について説明する。第2の実施の形態は、前述した第1の実施の形態と異なり、メールゲートウェイ106がメール格納領域を備えず、データストアサーバ108がメール格納領域を備える。すなわち、メールゲートウェイ106が転送すべきメールのデータは、メールゲートウェイ106からデータストアサーバ108に転送され、メールゲートウェイ106によるメールの転送が完了した後に削除される。
【0084】
なお、第2の実施の形態において、前述した第1の実施の形態と同じ機能の構成及び同じ処理については、第1の実施の形態と同じ符号を付し、その説明は省略する。
【0085】
図9は、第2の実施の形態のメール転送システムの構成を示すブロック図である。
【0086】
第2の実施の形態のメール転送システムは、事業者ネットワーク103内に構成されており、メールゲートウェイ106、メールボックスサーバ107及びデータストアサーバ108を備える。メールゲートウェイ106とメールボックスサーバ107とデータストアサーバ108とは、事業者ネットワーク103によって接続されている。
【0087】
事業者ネットワーク103は、無線ネットワーク102を介して通信端末101に接続されており、ネットワーク104を介してメール転送サーバ105A〜105Cに接続されている。
【0088】
メールゲートウェイ106は、通信端末101から送信されたメールデータを受信し、受信したメールデータをメール転送サーバ105A等に転送するコンピュータである。メールゲートウェイ106の記憶装置208には、ログ格納領域210が設けられる。なお、第1の実施の形態のメールゲートウェイ106に設けられたメール格納領域209は、データストアサーバ108に設けられる。
【0089】
データストアサーバ108は、通信端末101から送信され、各メール転送サーバ105A等に転送されるメールデータを一時的に格納するメール格納領域(図11の1009)を備える。
【0090】
図10は、第1の実施の形態のメールゲートウェイ106の構成を示すブロック図である。
【0091】
メールゲートウェイ106は、プロセッサ202、メモリ207、ネットワークインターフェース203及び不揮発性記憶装置208を備える。
【0092】
記憶装置208は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、管理情報格納領域211及びログ格納領域210が設けられる。メール管理・格納領域205には、受信したメール(転送すべきメール)のメール本文およびメール管理情報が格納される。メール管理・格納領域205に格納されたメール管理情報は、転送先サーバへのメールの転送完了後に、消去される。
【0093】
第2の実施は、第1の実施例と異なり、不揮発性記憶装置208にバックアップ用のメール格納領域は保持せず、その代わりデータストアサーバ108へバックアップを格納する。
【0094】
図11は、第2の実施の形態のデータストアサーバ108の構成を示すブロック図である。
【0095】
データストアサーバ108は、プロセッサ1102、メモリ1107、ネットワークインターフェース1103及び記憶装置1108を備える。
【0096】
プロセッサ1102は、データストアサーバプログラム1104に格納されたプログラムを実行する。プロセッサ1102がデータストアサーバプログラム1104を実行することによって、データストアサーバ108が行う各種処理を実現される。
【0097】
ネットワークインターフェース1103は、事業者ネットワーク103に接続され、所定のプロトコルに従ってメールゲートウェイ106と通信する。不揮発性記憶装置1108は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置である。データストアサーバプログラム1104は、メールゲートウェイ106のメール管理・格納領域205のバックアップ用の領域である、バックアップ用メール格納領域1107、バックアップ用メール格納領域1109を管理する。本実施例では、データストアサーバプログラム1104はバックアップ用メール格納領域1107とバックアップ用メール格納領域1109を保持するが、どちらか一方に保持するだけでも本発明は実施可能である。本実施の形態では、データストアサーバがキャッシュとしてバックアップ用メール格納領域1107にデータを保持し、主記憶装置としてバックアップ用メール格納領域1109にデータを保持する。
【0098】
なお、バックアップ用メール格納領域1107とバックアップ用メール格納領域1109とは、本実施の形態では、メールを格納するだけだが、データストアサーバはメール以外のデータを格納することができ、格納するデータを一律バイナリデータとして扱うことが可能である。 図12は、第2の実施の形態のメール転送処理の一例(メールデータが共有される場合)を示すシーケンス図である。
【0099】
通信端末(メールクライアント)101は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ106にMAIL FROMメッセージ1201を送信し、このメールの送信元のアドレスを伝える。このMAIL FROMメッセージ1201のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ106は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージ1202をメールクライアント101に送信する。
【0100】
次に、メールクライアント101は、メールゲートウェイ106にRCPT TOメッセージ1203を送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える。このRCPT TOメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ108(メール格納領域1109)に格納する方式の一次的な判定をする(1204)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ1205をメールクライアント101に送信する。なお、このRCPTチェック1204には、前述した第1の実施の形態(図5)の方法を用いることができる。
【0101】
その後、このメールに複数の宛先がある場合、メールクライアント101はメールゲートウェイ106にRCPT TOメッセージ1206を送信し、このメールの別の宛先アドレス(b2@bbbb.ne.jp)を伝える。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ108に格納する方式の一次的な判定をする(1207)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ1208をメールクライアント101に送信する。なお、このRCPTチェック1207には、前述した第1の実施の形態(図5)の方法を用いることができる。
【0102】
メールクライアント101は、全てのRCPT TOメッセージ(宛先アドレス)を送信すると、メール本文1209を送信する。
【0103】
メールゲートウェイ106は、メール(送信元、宛先等の管理情報及び本文)を正しく受信すると、メール管理・格納領域205へ格納し、メール本文の管理方式を判定し(1210)、判定された方式に基づいて、データストアサーバ108へ格納するパケットを作成し(1211)、作成された格納パケットをデータストアサーバ108に転送する(1212)。
【0104】
データストアサーバ108は、受信した格納パケットをメール格納領域1107とメール格納領域1109に格納し(1213)、受信したパケットの格納が完了したことを示す確認応答をメールゲートウェイ106に送信する(1214)。
【0105】
メールゲートウェイ106は、データストアサーバ108から確認応答を受信すると、メールを正しく受信したことを示す250 OKメッセージ1215をメールクライアント101に送信する(1215)。
【0106】
その後、メールゲートウェイ106は、宛先a1が収容されるメール転送サーバA(105A)にメールを送信する(1216)。 メール転送サーバA(105A)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ1217をメールゲートウェイ106に送信する。メールゲートウェイ106は、a1宛のメールの転送に成功すると、、a1宛のメールを削除する要求をデータストアサーバ108に送信する(1218)。データストアサーバ108は、a1宛のメールを削除する要求を受信すると、a1宛のメールをメール格納領域1107とメール格納領域1109から削除する。メールゲートウェイ106は、データストアサーバから削除の成功応答1219を受信すると、a1宛のメールの管理情報をメール管理・格納領域205から削除する(1220)。
【0107】
また、メールゲートウェイ106は、宛先b2が収容されるメール転送サーバB(105B)にメールを送信する(1221)。メール転送サーバB(105B)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ1222をメールゲートウェイ106に送信する(1222)。メールゲートウェイ106は、b2宛のメールの転送に成功すると、b2宛のメールを削除する要求をデータストアサーバ108に送信する(1223)。データストアサーバ108は、b2宛のメールを削除する要求を受信すると、メールゲートウェイ106は、b2宛のメールをメール格納領域1107とメール格納領域1109から削除し、データストアサーバから削除の成功応答1224を送信する。メールゲートウェイ106は、成功応答1224を受信すると、b2宛のメールの管理情報をメール管理・格納領域205から削除し(1225)、a1宛のメールとb2宛のメールとで共通に管理されたメール本文のデータをキューから削除する(1226)。
【0108】
図13は、第2の実施の形態のデータストアサーバ108へ送信されるパケットの一例を説明する図である。
【0109】
データストアサーバ108へ送信されるパケットは、パケット種別1310、キー数1300、複数のキー1301、1303、複数の拡張キーデータ1302、1304、及び、登録データ1309を含む。
【0110】
パケット種別1310は、このパケットを受信したデータストアサーバ108によって実行される処理(例えば、登録、削除など)を示す。
【0111】
キー数1300は、このパケットに含まれるキーの数を表す。なお、図13には二つのキーを示したが、キーの数は一つでも任意の複数でもよい。キー1301、1303は、キーに対応するメール管理情報を一意に識別するための識別子である。拡張キーデータ1302、1304は、キーに対応するメール管理情報と基本のメール管理情報との差分のデータを格納する。なお、基本のメール管理情報は、最初のメール管理情報を用いるとよい。登録データ1309は、メール管理情報及びメール本文を含む。
【0112】
第2の実施の形態においても、メールゲートウェイ106は、メール管理方法1〜3のいずれかによってメールを管理する。
【0113】
図14は、第2の実施の形態のメールゲートウェイ106で実行されるメール管理を説明する図であり、完全分離方式(図3A)の場合を示す。
【0114】
まず、宛先毎にメールデータ(メール管理情報、メール本文)が作成される。その後、元のメール1400及びコピーによって新たに作成されたメール1410の各々にキー1301、1303が割り当てられる。
【0115】
そして、各メールのメール管理情報と最初のメールのメール管理情報とを比較し、その差分を拡張キーデータ2(1304)に格納する。なお、拡張キーデータ1(1302)に対応するメール管理情報には差分が生じないので、拡張キーデータ1(1302)には差分がないことを示す情報を格納する。
【0116】
図15は、第2の実施の形態のメールゲートウェイ106によって実行されるパケット構成処理のフローチャートである。
【0117】
まず、2番目のメールのメール管理情報を選択し(1501)、選択されたメール管理情報に対応するキーを作成する(1502)。
【0118】
そして、選択されたメール管理情報と、最初のメール管理情報との差分を抽出し(1503)、対応するキーの拡張キーデータに抽出された差分を格納して、格納キーデータを作成する(1504)。
【0119】
その後、次のメール管理情報があるか否かを判定する(1505)。次のメール管理情報があれば、ステップ1502に戻り、次のメールを処理する。一方、次のメール管理情報がなければ、全てのメール管理情報について処理が完了したので、作成された拡張キーデータを連結して、データストアサーバ108へ送信されるパケットを構成する(1506)。
【0120】
図16は、第2の実施の形態のデータストアサーバ108におけるデータの格納を説明する図である。
【0121】
まず、キー毎の格納領域1621、1622をメール格納領域1109に確保し、確保された格納領域に登録データ1309を格納する。その後の領域に各キーに対応した拡張キーデータ1302、1304を格納する。
【0122】
以上説明したデータストアサーバ108は、宛先毎にメールデータを分離して格納する。これは、一般に、データストアサーバ108は、記憶容量が十分にあり、高速に処理することができるためであり、また、データストアサーバ108は、メールゲートウェイ106から送信されたデータをメールと認識しておらず、メール、テキスト、画像でも同様に扱うだけである。しかし、データストアサーバ108がメールデータを格納する場合、宛先毎にメールデータを再構築して、共通化できる部分をまとめることもできる。
【0123】
図17は、第2の実施の形態のデータストアサーバ108によって実行されるパケット構成処理のフローチャートである。
【0124】
データストアサーバ108は、メールゲートウェイ106からパケットを受信すると、受信したパケットのパケット種別1310を判定する。そして、受信したパケットのパケット種別1310が「登録」であれば、格納パケットを受信したと判定し、パケット格納処理を開始する(1701)。
【0125】
まず、受信した格納パケットから、該パケットに含まれるキーの数を取得して、ループの回数を判定する(1702)。次に、受信したパケットから、キー及びキー拡張データを取得し(1703、1704)、次のキーがなくなるまで(取得したキーの数がステップ1702で取得したキー数と等しくなるまで)、ステップ1703〜1704の処理を繰り返す(1705)。その後、受信した格納パケットから登録データ(メール管理情報、メール本文)を取得する(1706)。
【0126】
その後、取得したキーのうち最初のキーを一つ選択し(1707)、選択されたキーに対応するデータ格納領域を確保する(1708)。そして、ステップ1706で取得した登録データと拡張キーデータとを確保されたデータ格納領域に格納する(1709)。そして、全てのキーの処理が完了するまでステップ1707〜1709の処理を繰り返す。
【0127】
以上説明したように、本発明の第2実施形態によると、メールゲートウェイ106とは別にデータストアサーバ108を設けた場合であっても、適切なメール管理方式を選択し、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
【0128】
また、メールゲートウェイ106は、基本となるメールデータ(メール本文、メール管理情報)と各メール管理情報の差分のみをデータストアサーバ108に送信するので、メールゲートウェイ106からデータストアサーバ108に送信されるデータ量の増加を抑制することができる。
【0129】
さらに、データストアサーバ108は、メールゲートウェイ106から受信したメールデータを再構築することなく、メール格納領域1109に格納するので、データストアサーバ108は、メールにおける処理を高速化することができる。
【符号の説明】
【0130】
101 通信端末
102 無線ネットワーク
103 事業者ネットワーク
104 ネットワーク
105A〜C メール転送サーバ
106 メールゲートウェイ
107 メールボックスサーバ
108 データストアサーバ
【技術分野】
【0001】
本発明は、メール転送システムに関し、特に、複数宛先へ送信されるメールを格納するための記憶容量を削減し、かつ、メールの転送を効率化するメール転送システムに関する。
【背景技術】
【0002】
電子メールを宛先ノードまで転送するメール中継装置(メールゲートウェイ、メール転送サーバ等)は、受信したメールを一時的に記憶装置(磁気ディスクドライブ等)に保存し、保存されたメールを指定された宛先へ転送する。このようなメール中継装置では、記憶装置へのデータの読み書きが性能のボトルネックとなっている。
【0003】
また、メール中継装置が複数宛先のメールを受信し、同じ電子メールを複数の宛先に送信する際、メールの宛先分、メールを複製し、複製された複数のメールを記憶装置に格納する方法が提案されている。この場合、複製されたメールの数によって記憶装置の容量を消費し、記憶装置の読み書き回数が増加し、性能上のボトルネックとなる。このため、電子メールの格納に必要なデータ量を減らしつつ、効率的な電子メールの転送を実現することが課題となっている。
【0004】
このメールを格納するための記憶装置の削減と、メールの管理・転送の効率化はトレードオフの関係にあり、両立させることが求められている。
【0005】
この課題に対し、例えば、特許文献1に記載されたメールシステムが提案されている。この特許文献1に記載されたメールシステムでは、メールの本体と送信情報とを分離し、送信情報を登録するメール情報格納部と、メール情報格納部のデータを管理するメール管理部とを設けることによって、メールを、宛先毎ではなく、メールの格納領域に配送している。このため、同じ電子メールを複数の宛先に送信する際、電子メールの格納に必要なデータ量を減少している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−264234号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
例えば、携帯電話事業者が運用するメール中継装置は、メールの種類によって処理の内容が異なる。具体的には、ドメイン毎にメールの輻輳を制御するために、一般に、メールの転送先のメール中継装置(ドメイン)毎に送信キューを備える。
【0008】
しかし、前述した従来の方法は、このような複数の送信キューを備えるメール中継装置に適用されることが考慮されていなかった。すなわち、宛先アドレスが含まれるドメインによってアクセス制御やトランスコーディングを行う必要がある。
【0009】
また、同一キュー内でも宛先によって、メールの転送の失敗・成功が混在する場合がある。従来の方法では、メールの転送の失敗・成功が複数宛先において混在することは考慮されていなかった。
【0010】
そこで、本発明は、メールの格納に必要な記憶容量を削減し、メールの中継処理の効率化を目的とする。
【課題を解決するための手段】
【0011】
本発明の代表的な一例を示せば以下の通りである。すなわち、端末から送信された電子メールを受信するメールゲートウェイと、前記端末と前記メールゲートウェイとを接続するネットワークと、を備えるメール転送システムであって、前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、前記メールゲートウェイは、複数のメール転送サーバと接続されており、転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に備え、前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納する。
【発明の効果】
【0012】
本発明の実施の形態によると、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施の形態のメール転送システムの構成を示すブロック図である。
【図2】本発明の第1の実施の形態のメールゲートウェイの構成を示すブロック図である。
【図3A】本発明の第1の実施の形態で用いられるメール管理方式を説明する図である。
【図3B】本発明の第1の実施の形態で用いられるメール管理方式を説明する図である。
【図3C】本発明の第1の実施の形態で用いられるメール管理方式を説明する図である。
【図4】本発明の第1の実施の形態のメール転送処理のシーケンスの一例(メールデータが共有される場合)を示す。
【図5】本発明の第1の実施の形態のRCPTチェック処理のフローチャートである。
【図6】本発明の第1の実施の形態の管理方式判定処理(メール本文チェック処理)のフローチャートである。
【図7】本発明の第1の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合の処理のシーケンス図である。
【図8】本発明の第1の実施の形態のメール送信・削除処理のフローチャートである。
【図9】本発明の第2の実施の形態のメール転送システムの構成を示すブロック図である。
【図10】本発明の第2の実施の形態のメールゲートウェイの構成を示すブロック図である。
【図11】本発明の第2の実施の形態のデータストアサーバの構成を示すブロック図である。
【図12】本発明の第2の実施の形態のメール転送処理の一例(メールデータが共有される場合)を示すシーケンス図である。
【図13】本発明の第2の実施の形態のデータストアサーバへ送信されるパケットの一例を説明する図である。
【図14】本発明の第2の実施の形態のメールゲートウェイで実行されるメール管理を説明する図である。
【図15】本発明の第2の実施の形態のメールゲートウェイによって実行されるパケット構成処理のフローチャートである。
【図16】本発明の第2の実施の形態のデータストアサーバにおけるデータの格納を説明する図である。
【図17】本発明の第2の実施の形態のデータストアサーバによって実行されるパケット構成処理のフローチャートである。
【発明を実施するための形態】
【0014】
<実施形態1>
図1は、本発明の第1の実施の形態のメール転送システムの構成を示すブロック図である。
【0015】
本実施の形態のメール転送システムは、事業者ネットワーク103内に構成されており、メールゲートウェイ106及びメールボックスサーバ107を備える。メールゲートウェイ106とメールボックスサーバ107とは、事業者ネットワーク103によって接続されている。
【0016】
事業者ネットワーク103は、無線ネットワーク102を介して通信端末101に接続されており、ネットワーク104を介して複数のメール転送サーバ105A〜105Cに接続されている。
【0017】
メールゲートウェイ106は、通信端末101から送信された電子メールのデータを受信し、受信したメールデータをメール転送サーバ105A等に転送するコンピュータである。また、メールゲートウェイ106は、電子メールの他に、メールの宛先毎に課金情報、携帯電話にメールが届いたことを知らせる通知、メールの送信者が宛先へ正常にメールが送信されたことを示す配信通知等のメッセージを送信する機能を持つ。これらのメッセージは、メッセージを宛先に送信する点において、電子メールの送信と同じ機構で実現できる。本実施例では、これらのメッセージについては記述しないが、本発明をこれらのメッセージに適用することは可能である。メールゲートウェイ106の構成は、図2を用いて後述する。
【0018】
メールボックスサーバ107は、メールゲートウェイ106が受信し、自網に収容される通信端末101宛のメールのデータを格納するコンピュータであり、いわゆる、POPサーバやIMAPサーバである。
【0019】
無線ネットワーク102は、基地局及び交換機を備え、無線通信回線を介して通信端末101と接続する。 通信端末101は、携帯電話機などの携帯通信端末で、MMS、インターネットメール等のメールを送受信する機能を有する。
【0020】
メール転送サーバ105A〜105Cは、メールゲートウェイ106が受信したメールデータの転送先となる計算機である。メール転送サーバ105A〜105Cは、宛先アドレスが収容されるメールサーバでも、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【0021】
ネットワーク104は、インターネットなどの、複数のメール転送サーバ間でメールデータが交換されるネットワークである。
【0022】
図2は、第1の実施の形態のメールゲートウェイ106の構成を示すブロック図である。
【0023】
メールゲートウェイ106は、プロセッサ202、メモリ207、ネットワークインターフェース203及び不揮発性記憶装置208を備える。
【0024】
プロセッサ202は、メールゲートウェイプログラム204を実行する。プロセッサ202がメールゲートウェイプログラム204を実行することによって、メールゲートウェイ106が行う各種処理が実現される。
【0025】
ネットワークインターフェース203は、事業者ネットワーク103に接続され、所定のプロトコルに従って通信する。記憶装置208は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、メール格納領域209及びログ格納領域210が設けられる。
【0026】
メールゲートウェイ106は、メールの転送先のドメイン(メール転送サーバ)毎に送信キューを備え、受信したメールを送信キューに格納する。送信キューに格納されたメールは、転送先のメール転送サーバ105A等へ転送される。また、メールゲートウェイ106は、受信したメールをメール管理・格納領域205とバックアップ用のメール格納領域209の両方に格納する。メール管理・格納領域205はメモリ207上にあり、不揮発性記憶装置208と比較し読み書きが高速であるため、通常メールゲートウェイ106はメール管理・格納領域205上のメール管理情報(詳細は図3で説明)の読み書きを行い各種処理を行う。ただし、メールゲートウェイ106が停止するとメモリ207上のデータは失われるため、メールゲートウェイ106が障害等で停止しても受信したメールを失わないようにバックアップ用のメール格納領域209にも受信したメールを記憶する。
メール管理・格納領域205とメール格納領域209に格納されたメールは、転送先サーバへのメールの転送完了後に、消去される。通常、メールゲートウェイ106は、バックアップ用のメール格納領域209へはメール受信時におけるメールの格納と、転送完了後の削除の2回のアクセスしか行わない。
【0027】
図3Aから図3Cは、第1の実施の形態で用いられるメール管理方式を説明する図である。
【0028】
メールゲートウェイ106が受信したメールのデータは、図のメール本文として格納する。。メール管理情報は、メールの転送処理をするためにメールゲートウェイ106がメールクライアントの通信やメール本文の解析から作成したデータであり、メール中継装置間でメールを転送する際に転送される情報であって、宛先、送信元、認証情報、メールの用途、メールの種別などを含む。メールゲートウェイ106は、メール管理情報を使って、メールの転送を処理する。
【0029】
第1の方式である完全分離方式は、図3Aに示すように、メールの本文をコピーすることによって、メールの宛先の数だけメール本文を作成し、メール宛先毎にメールデータ(メール管理情報、メール本文)を作成する。後述するように、宛先毎にメール本文を書き替えた後に転送する必要がある場合には完全分離方式が適用されるが、複数宛先のメールの本文が同一である場合にも完全分離方式を適用することができる。この完全分離方式では、メール本文を含むメールデータが宛先毎に作成されるので、メールデータを格納するために多くの記憶領域を必要とするが、宛先毎のメールの状態(転送完了、不達など)の管理や、障害発生時のメールの復旧処理が容易である利点がある。
【0030】
第2の方式であるメール本文共有方式は、図3Bに示すように、宛先毎に複数のメール管理データが作成されるが、メール本文は各メール管理データに共通である。各メール管理データはメール本文とリンクされることによって、その対応が管理される。すなわち、メール本文共有方式では、各メール管理データには一つの宛先が含まれ、メール本文は全メール管理データ(全宛先)に共通である。メール本文共有方式は、後述するように、複数の宛先のドメインが異なる場合に適用される。また、メール本文共有方式は、自網宛の複数の宛先にメールを転送する場合、宛先のメールボックス毎にメールデータを分割する場合に適用される。この場合、メール格納領域に格納されるデータは、宛先のメールボックス毎のメール管理情報と、一つのメール本文とによって構成される。
【0031】
メール本文共有方式では、複数のメール管理データによってメール本文が共有されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。しかし、メール本文共有方式では、宛先毎のメールの状態の管理に参照カウンタを用いる等、メールの管理が複雑であり、障害発生時のメールの復旧処理が複雑である。
【0032】
第3の方式である複数宛先・メール本文共有方式は、図3Cに示すように、複数のメール管理データが作成され、メール本文は各メール管理データに共通であるが、各メール管理データには一つ又は複数の宛先が含まれる。各メール管理データはメール本文とリンクが張られることによって、その対応が管理される。複数宛先・メール本文共有方式は、後述するように、同一のメール転送サーバ105A等に収容される複数の宛先に転送されるメールである場合に適用される。しかし、複数宛先・メール本文共有方式は、自網内の宛先が複数ある場合には適用できない。これは、自網内ではメールゲートウェイ106から宛先のメールボックス宛にメールが転送されるので、宛先メールボックス毎にメールの状態(転送成功、不達など)を管理する必要があるからである。また、自網内では、メールボックスサーバ107、配信通知送信サーバ、DNS等の複数のサーバが連携して処理が行われているため、自網内の宛先毎にメールの状態が宛先毎に異なることからも、複数宛先・メール本文共有方式は適さない。
【0033】
複数宛先・メール本文共有方式は、宛先毎に作成されるメールデータにはメール管理情報のみが含まれ、メール本文は各メール管理データで共有され、さらに、メール管理情報が複数の宛先で共通化されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。一方、複数宛先・メール本文共有方式では、メール管理情報に含まれる宛先の数が異なるので、メールの状態(転送成功、不達など)の管理が複雑になる。この場合、転送成功(又は、不達)をログに出力する、又はメール管理情報に記録すれば、メールの状態によって処理を分離することができる。
【0034】
さらに、複数宛先・メール本文共有方式では、処理が完全に異なる場合には適用できない。分離しているものには適用できない。
【0035】
前述したように、メールゲートウェイ106は、転送先ドメイン毎に送信キューを備える。このため、異なるドメインへ送信されるメールは状態が異なるので、メール管理情報を複数に分けることが望ましい。このため、本実施の形態では、前述した三つのメール管理方式を使い分ける。
【0036】
図4は、第1の実施の形態のメール転送処理のシーケンスの一例(メールデータが共有される場合)を示す。
【0037】
なお、メール転送サーバ105A、105Bは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【0038】
通信端末(メールクライアント)101は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ106にMAIL FROMメッセージ401を送信し、このメールの送信元のアドレスを伝える。このMAIL FROMメッセージ401のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ106は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージ402をメールクライアント101に送信する。
【0039】
次に、メールクライアント101は、メールゲートウェイ106にRCPT TOメッセージ403を送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える。このRCPT TOメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域205とメール格納領域209に格納する方式の一次的な判定をする(404)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ405をメールクライアント101に送信する。なお、このRCPTチェック404の詳細は、図5を用いて後述する。
【0040】
その後、このメールの宛先が複数である場合、メールクライアント101はメールゲートウェイ106にRCPT TOメッセージ406を送信し、このメールの別の宛先アドレス(b2@bbbb.ne.jp)を伝える。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域205とメール格納領域209に格納する方式の一次的な判定をする(407)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ408をメールクライアント101に送信する。なお、このRCPTチェック404の詳細は、図5を用いて後述する。
【0041】
メールクライアント101は、全てのRCPT TOメッセージ(宛先アドレス)を送信すると、メール本文409を送信する。
【0042】
メールゲートウェイ106は、メール(送信元、宛先等の管理情報及び本文)を正しく受信すると、メール本文の管理方式を判定し(410)、判定された方式に基づいて、a1宛のメール管理情報、b2宛のメール管理情報、及び、メール本文をメール管理・格納領域205とメール格納領域209へ格納する(411、412、413)。その後、メールゲートウェイ106は、メールを正しく受信したことを示す250 OKメッセージ414をメールクライアント101に送信する。
【0043】
その後、メールゲートウェイ106は、宛先a1が収容されるメール転送サーバA(105A)にメールを転送する(415)。メール転送サーバA(105A)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ416をメールゲートウェイ106に送信する。メールゲートウェイ106は、a1宛のメールの転送に成功すると、a1宛のメールの管理情報をメール管理・格納領域205とメール格納領域209から削除する(417)。
【0044】
また、メールゲートウェイ106は、宛先b2が収容されるメール転送サーバB(105B)にメールを転送する(418)。メール転送サーバB(105B)は、メールを受信すると、メールを正しく受信したことを示す250 OKメッセージ419をメールゲートウェイ106に送信する。その後、メールゲートウェイ106は、b2宛のメールの転送に成功すると、b2宛のメールの管理情報をメール管理・格納領域205とメール格納領域209から削除する(420)。
【0045】
さらに、メールゲートウェイ106は、全ての宛先へのメールの送信が完了すると、メールデータをメール管理・格納領域205とメール格納領域209から削除する(421)。
【0046】
なお、ステップ410における判定の結果によって、前述したシーケンスは若干異なってくる。例えば、ステップ410において、メールを完全分離方式で処理すると判定された場合(図6のステップ605)、ステップ417で、a1宛のメールの管理情報及びメール本文を削除し、ステップ420で、b2宛のメールの管理情報及びメール本文を削除すればよい。完全分離方式では、メール管理情報とメール本文とは1対1対応しているので、このようにすれば、ステップ421でメール本文を削除しなくてもよい。
【0047】
また、ステップ410において、メールを複数宛先・メール本文共有方式で処理すると判定された場合(図5のステップ513。なお、この場合、ドメインA.comの宛先が二つある)、ステップ415で、2通のメールを送信し(2件のRCPT TOを連続して送信し)、ステップ417で、a1宛メールの管理情報(2宛先が格納されている)を削除し、ステップ420で、b2宛メールの管理情報を削除し、ステップ421で共通のメール本文を削除すればよい。
【0048】
図5は、第1の実施の形態のRCPTチェック処理のフローチャートであり、図4のステップ404、407でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。このRCPTチェック処理では、メールのヘッダ(特に、宛先アドレス)を解析して、メールの管理方式を判定する。
【0049】
まず、宛先メールアドレスを参照して、宛先が属するドメインに対応する送信キューを選択する(501)。
【0050】
その後、ステップ501で選択された送信キューが規制状態であるか否かを判定する(502)。その結果、選択された送信キューが規制状態である場合、この宛先へメールを送信することができないので、メールクライアント101にエラーメッセージを送信する(503)。一方、選択された送信キューが規制状態ではない場合、ステップ504に進む。
【0051】
ステップ504では、このメールの宛先の数(RCPT数)を計数し(504)、計数されたRCPT数が、一つのメール内で許容される最大値を超えているか否かを判定する(505)。その結果、計数されたRCPT数がメールの最大値を超えている場合、この宛先へメールを転送することができないので、メールクライアント101にエラーを応答する(506)。一方、計数されたRCPT数がメールの最大値に達していない場合、ステップ507に進む。
【0052】
ステップ507では、計数されたRCPT数が”1”であるか否かを判定する。その結果、計数されたRCPT数が”1”であれば、このメールは一つの宛先に転送すればよいので、この宛先のRCPT情報を記述したメール管理情報を作成し、このRCPTチェック処理を終了する(508)。一方、計数されたRCPT数が”1”でなければ、このメールは複数の宛先に転送する必要があるので、ステップ509に進む。
【0053】
ステップ509では、宛先メールアドレスが自網内に含まれるアドレスであるか否かを判定する。その結果、宛先メールアドレスが自網内に含まれるアドレスでなければ、ステップ511に進む。一方、宛先メールアドレスが自網内に含まれないアドレスであれば、メールボックスサーバ107からユーザ情報を取得し(510)、ステップ511に進む。このユーザ情報には、このユーザの端末受信できる添付ファイルの情報(特に、画像ファイルの形式及び大きさ)、メールの転送先のメールボックスの情報、及びこのメールボックスの処理をするサーバの構成の情報が含まれる。
【0054】
ステップ511では、この宛先と同一ドメインの宛先があるか否かを判定する。その結果、この宛先と同一ドメインの宛先がなければ、この宛先と同一のメール転送サーバ105A等に転送される宛先がなく、この宛先に対応するメール管理情報を作成する必要があるので、ステップ514に進む。一方、この宛先と同一ドメインの宛先があれば、RCPT数が網外最大値を超過しているか否かを判定する(512)。RCPT数の最大値とは、一つのメール、すなわち、一つのメール管理情報でまとめて送信できる宛先の最大数である。その結果、この宛先が網外であり、RCPT数が網外最大値を超過していれば、ステップ514に進む。一方、RCPT数が網外最大値を超過していなければ、メール本文が共通する形式でまとめられたメールデータを作成することができる。このため、この宛先のRCPT情報を同一ドメインの宛先のメール管理情報に追加する(513)。なお、ステップ512において、メールゲートウェイ106はシステム全体で網外最大値を一つだけ持つだけでなく、宛先ドメイン毎に個別に網外最大値を設定することが可能である。例えば、宛先が通信キャリアなど送信失敗の確率が非常に低いドメインであれば、メールゲートウェイ106が大きい網外最大値を選択する。一方、送信失敗の確率が高いドメインである場合は失敗する可能性が高いため、小さい網外最大値または同一ドメインで宛先をまとめないでステップ514へ進むという処理が可能である。
【0055】
この宛先と同一ドメインの宛先がなく、又は、RCPT数が網外最大値(又は、ドメイン毎の最大値)を超過している場合、この宛先のメールは別な送信キューに格納されるので、別なメール管理情報を作成する必要がある。このため、ステップ514では、新たなメール管理情報を作成し(514)、この宛先のRCPT情報を作成したメール管理情報に追加する(515)。なお、ステップ512でRCPT数が最大値を超過して、ステップ514で新たなメール管理情報を作成した場合、新たなメール管理情報でRCPT数が最大値を超過するまで、次以降のメールをまとめることができる。
【0056】
図6は、第1の実施の形態の管理方式判定処理(メール本文チェック処理)のフローチャートであり、図4のステップ410でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。このメール本文チェック処理では、メール本文を解析して、メールの管理方式を判定する。すなわち、メール本文を解析することによって、既にRCPTチェック処理(図5)でメール本文を共有して管理すると判定されたメールを、メール本文が分離された形式に管理方式を変更する。
【0057】
まず、メール管理情報を参照して、メール本文を解析すべきメール管理情報があるか否かを判定する(601)。その結果、対象となるメール管理情報がなければ、このメール本文チェック処理を終了する。一方、対象となるメール管理情報があれば、ステップ602に進む。
【0058】
ステップ602では、この宛先のメール管理情報を解析する。具体的には、メール本文の形式、添付ファイルの有無、及び、ユーザ情報の有無をチェックする。なお、このユーザ情報は、図5のステップ510で取得された情報である。
【0059】
次に、ステップ602における判定結果に基づいて、このメールの宛先が自網内か、画像ファイルが添付されているか、及び、ユーザ情報の設定が異なるかを判定する(603)。その結果、このメールの宛先が自網内であり、画像ファイルが添付されており、かつ、ユーザ情報の設定が異なる場合、画像ファイルの変換が必要なので、ステップ605に進む)。一方、このメールが網外のメール転送サーバ宛である、画像ファイルが添付されていない、又は、ユーザ情報の設定が同じのいずれかの条件を満たす場合、ステップ604に進み、メールの形式がcHTML形式であるか否か、すなわち、このメールがデコメであるか否かを判定する。
【0060】
その結果、メールの形式がcHTML形式であれば、の変換が必要なので、ステップ605に進む。
【0061】
ステップ605では、宛先に従ってメール本文を分離して管理するために、メール本文をコピーし、メール管理情報を分離し、分離したメール管理情報をコピーされたメール本文に付加して宛先キューに格納する(605)。
【0062】
図6に示す管理方式判定処理では、メールの形式がcHTML形式であるか否かを判定
したが、メールの形式がプレーンテキスト形式であるか否かを判定し、メールの形式がプレーンテキスト形式であれば、メール本文の変換は必要がないと判定することもできる。
【0063】
さらに、メール本文に絵文字が含まれているかを判定し、メール本文に絵文字が含まれていれば、メール本文の変換が必要であると判定することもできる。
【0064】
図7は、第1の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合のシーケンス図である。
【0065】
なお、メール転送サーバ105Aは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
【0066】
まず、メールゲートウェイ106は、メール転送サーバA(105A)に、MAIL FROMメッセージを送信し、このメールの送信元アドレスを伝える(701)。メール転送サーバA(105A)は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージを、メールゲートウェイ106に送信する(702)。
【0067】
次に、メールゲートウェイ106は、メール転送サーバA(105A)に、RCPT TOメッセージを送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える(703)。メール転送サーバA(105A)は、RCPT TOメッセージに含まれる宛先アドレスがメール転送サーバA(105A)に収容されているか否かを判定する。この宛先アドレスがメール転送サーバA(105A)に収容されている場合、メール転送サーバA(105A)は、250 OKメッセージを、メールゲートウェイ106に送信する(704)。
【0068】
さらに、メールゲートウェイ106は、メール転送サーバA(105A)に、RCPT TOメッセージを送信し、このメールのもう一つの宛先アドレス(b2@aaaa.ne.jp)を伝える(705)。メール転送サーバA(105A)は、RCPT TOメッセージに含まれる宛先アドレスがメール転送サーバA(105A)に収容されているか否かを判定する。この宛先アドレスがメール転送サーバA(105A)に収容されていない場合、メール転送サーバA(105A)は、エラー応答をメールゲートウェイ106に送信する(706)。
【0069】
メールゲートウェイ106は、エラー応答を受信すると、未達通知を要求するために、
メール本文をコピーして分離する。(707)。 メールゲートウェイ106は、メールクライアント101にアドレス b2@aaaa.ne.jp宛のメールの未達を通知する(709)。メールクライアント101は、メールゲートウェイ106から未達通知を正しく受信すると、メールゲートウェイ106に、未達通知の応答を送信する(710)。メールゲートウェイ106は、未達通知の応答を受信すると、アドレスb2@aaaa.ne.jp宛のメールが未達であること、すなわち未達通知の送信成功をメール管理情報及びログに出力する(711)。なお、ステップ707の代わりに、メールゲートウェイ106が705のメールの送信に失敗したことをメール管理・格納領域205とバックアップ用メール格納領域209、およびログへ書き込み、未達通知だけのメール管理領域を作成すれば、メール本文を分離しないでもステップ707〜711の処理が実現可能である。
【0070】
メールゲートウェイ106は、ステップ707で分離されたメール本文はステップ709、710と並行して、アドレスa1@aaaa.ne.jp宛のメールとして、メール転送サーバA(105A)に送信する(713)。メール転送サーバA(105A)は、メール本文を正しく受信すると、メール本文を正しく受信したことを示す250 OKメッセージを、メールゲートウェイ106に送信する(714)。
【0071】
メールゲートウェイ106は、メール本文の送信に対する確認応答(250 OK)を受信すると、メール本文の送信成功をメール管理情報及びログに出力する(715)。以上の処理によって、メールゲートウェイ106は、a1@aaaa.ne.jp宛のメールの転送の成功と、b2@aaaa.ne.jp宛のメールの転送の失敗(未達)とが確定したので、メール管理情報及びメールデータ(本文)をメール管理・格納領域205とメール格納領域209から削除する(716)。
【0072】
なお、メールゲートウェイ106は、メールクライアント101への未達通知(709〜710)と、メール本文の分離、転送(712〜715)とを別スレッドで並行して処理しているが、メールクライアント101への未達通知(709〜710)と、メール本文の分離、転送(713〜716)とを順に処理すれば一つのスレッドで処理ができる。
【0073】
図7に示すシーケンスでは、転送の結果を逐次にメール管理情報及びログに出力することによって、メールの状態を単純化して管理することができる。例えば、メールの転送が成功した場合、ログへの出力によって配信処理を終了状態にすることができる。
【0074】
図8は、第1の実施の形態のメール送信・削除処理のフローチャートであり、図4のステップ515〜521でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。
【0075】
メールゲートウェイ106は、メール転送サーバ(又は、次のメール転送サーバ)にメール本文を送信し(801)、転送先のメール転送サーバからの返信を待つ。メールゲートウェイ106は、転送先のメール転送サーバからの返信を判定する(802)。転送先のメール転送サーバからの返信が送信成功であった場合、ステップ803に進み、メールデータを削除する処理を開始する。一方、転送先のメール転送サーバからの返信が送信失敗であった場合、ステップ808に進み、未達通知を要求する。
【0076】
ステップ803では、メールの送信に成功しているので、メールデータの参照数(参照カウンタ)から1を減算し、メール送信の成功をログに出力し、メール送信が成功したアドレスの管理情報に含まれる状態を送信済みに変更する。
【0077】
その後、メール管理情報に含まれる状態を参照して、全ての宛先へのメールの送信が完了したか否かを判定する(804)。なお、参照カウンタには、このメールのメール管理情報の数が設定される。
【0078】
判定の結果、一部のメールの送信が完了していなければ、他のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。一方、全てのメールの送信が完了していれば、メール本文にリンクされる未送信のメールのメール管理情報の数を示す参照カウンタをチェックする(805)。その結果、参照カウンタが0であれば(806でYES)、全ての宛先へのメールの送信が完了しているので、メール本文及びメール管理情報を削除し(807)、このメール送信・削除処理を終了する。一方、メールデータの参照数が0でなければ(806でNO)、一部の宛先へメールが未送信なので、未送信のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。
【0079】
一方、ステップ808では、メールの送信が失敗しているので、このメールの再送回数が最大再送回数を超過しているか否か、及び、有効期限切れであるか否かを判定する(808)。このメールの再送回数が最大再送回数を超過しておらず、かつ、有効期限切れでもない場合は、この宛先へメールを再送するために、このメール送信・削除処理を終了して、次のメール送信・削除処理を開始する。
【0080】
一方、最大再送回数が超過している場合、又は、有効期限切れである場合は、この宛先へメールを再送する必要がなく、この宛先へのメールの送信はエラーとして処理されるので、参照カウンタから1を減算し、メール送信の失敗をログに出力し、メール送信が失敗したアドレスのメール管理情報に含まれる状態を送信済みに変更する(809)。その後、未達通知を要求し(810)、ステップ804に進む。すなわち、メールクライアン101トが未達通知を受信した場合は、送信済み扱いとする。
【0081】
以上説明したように、本発明の第1実施形態によると、メール管理情報及びメール本文によってメールの管理方式を決定し、メールによって適切なメール管理をするので、メールの格納に必要な記憶容量を削減し、かつ、メールの中継処理を効率化することができる。
【0082】
また、まずメール管理情報によってメール管理方式を一次的に決定し、その後メール本文によってメール管理方式を最終決定するので、メールの管理方式を効率的に決定することができる。
【0083】
<実施形態2>
次に、本発明の第2の実施の形態について説明する。第2の実施の形態は、前述した第1の実施の形態と異なり、メールゲートウェイ106がメール格納領域を備えず、データストアサーバ108がメール格納領域を備える。すなわち、メールゲートウェイ106が転送すべきメールのデータは、メールゲートウェイ106からデータストアサーバ108に転送され、メールゲートウェイ106によるメールの転送が完了した後に削除される。
【0084】
なお、第2の実施の形態において、前述した第1の実施の形態と同じ機能の構成及び同じ処理については、第1の実施の形態と同じ符号を付し、その説明は省略する。
【0085】
図9は、第2の実施の形態のメール転送システムの構成を示すブロック図である。
【0086】
第2の実施の形態のメール転送システムは、事業者ネットワーク103内に構成されており、メールゲートウェイ106、メールボックスサーバ107及びデータストアサーバ108を備える。メールゲートウェイ106とメールボックスサーバ107とデータストアサーバ108とは、事業者ネットワーク103によって接続されている。
【0087】
事業者ネットワーク103は、無線ネットワーク102を介して通信端末101に接続されており、ネットワーク104を介してメール転送サーバ105A〜105Cに接続されている。
【0088】
メールゲートウェイ106は、通信端末101から送信されたメールデータを受信し、受信したメールデータをメール転送サーバ105A等に転送するコンピュータである。メールゲートウェイ106の記憶装置208には、ログ格納領域210が設けられる。なお、第1の実施の形態のメールゲートウェイ106に設けられたメール格納領域209は、データストアサーバ108に設けられる。
【0089】
データストアサーバ108は、通信端末101から送信され、各メール転送サーバ105A等に転送されるメールデータを一時的に格納するメール格納領域(図11の1009)を備える。
【0090】
図10は、第1の実施の形態のメールゲートウェイ106の構成を示すブロック図である。
【0091】
メールゲートウェイ106は、プロセッサ202、メモリ207、ネットワークインターフェース203及び不揮発性記憶装置208を備える。
【0092】
記憶装置208は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、管理情報格納領域211及びログ格納領域210が設けられる。メール管理・格納領域205には、受信したメール(転送すべきメール)のメール本文およびメール管理情報が格納される。メール管理・格納領域205に格納されたメール管理情報は、転送先サーバへのメールの転送完了後に、消去される。
【0093】
第2の実施は、第1の実施例と異なり、不揮発性記憶装置208にバックアップ用のメール格納領域は保持せず、その代わりデータストアサーバ108へバックアップを格納する。
【0094】
図11は、第2の実施の形態のデータストアサーバ108の構成を示すブロック図である。
【0095】
データストアサーバ108は、プロセッサ1102、メモリ1107、ネットワークインターフェース1103及び記憶装置1108を備える。
【0096】
プロセッサ1102は、データストアサーバプログラム1104に格納されたプログラムを実行する。プロセッサ1102がデータストアサーバプログラム1104を実行することによって、データストアサーバ108が行う各種処理を実現される。
【0097】
ネットワークインターフェース1103は、事業者ネットワーク103に接続され、所定のプロトコルに従ってメールゲートウェイ106と通信する。不揮発性記憶装置1108は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置である。データストアサーバプログラム1104は、メールゲートウェイ106のメール管理・格納領域205のバックアップ用の領域である、バックアップ用メール格納領域1107、バックアップ用メール格納領域1109を管理する。本実施例では、データストアサーバプログラム1104はバックアップ用メール格納領域1107とバックアップ用メール格納領域1109を保持するが、どちらか一方に保持するだけでも本発明は実施可能である。本実施の形態では、データストアサーバがキャッシュとしてバックアップ用メール格納領域1107にデータを保持し、主記憶装置としてバックアップ用メール格納領域1109にデータを保持する。
【0098】
なお、バックアップ用メール格納領域1107とバックアップ用メール格納領域1109とは、本実施の形態では、メールを格納するだけだが、データストアサーバはメール以外のデータを格納することができ、格納するデータを一律バイナリデータとして扱うことが可能である。 図12は、第2の実施の形態のメール転送処理の一例(メールデータが共有される場合)を示すシーケンス図である。
【0099】
通信端末(メールクライアント)101は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ106にMAIL FROMメッセージ1201を送信し、このメールの送信元のアドレスを伝える。このMAIL FROMメッセージ1201のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ106は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージ1202をメールクライアント101に送信する。
【0100】
次に、メールクライアント101は、メールゲートウェイ106にRCPT TOメッセージ1203を送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える。このRCPT TOメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ108(メール格納領域1109)に格納する方式の一次的な判定をする(1204)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ1205をメールクライアント101に送信する。なお、このRCPTチェック1204には、前述した第1の実施の形態(図5)の方法を用いることができる。
【0101】
その後、このメールに複数の宛先がある場合、メールクライアント101はメールゲートウェイ106にRCPT TOメッセージ1206を送信し、このメールの別の宛先アドレス(b2@bbbb.ne.jp)を伝える。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ108に格納する方式の一次的な判定をする(1207)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ1208をメールクライアント101に送信する。なお、このRCPTチェック1207には、前述した第1の実施の形態(図5)の方法を用いることができる。
【0102】
メールクライアント101は、全てのRCPT TOメッセージ(宛先アドレス)を送信すると、メール本文1209を送信する。
【0103】
メールゲートウェイ106は、メール(送信元、宛先等の管理情報及び本文)を正しく受信すると、メール管理・格納領域205へ格納し、メール本文の管理方式を判定し(1210)、判定された方式に基づいて、データストアサーバ108へ格納するパケットを作成し(1211)、作成された格納パケットをデータストアサーバ108に転送する(1212)。
【0104】
データストアサーバ108は、受信した格納パケットをメール格納領域1107とメール格納領域1109に格納し(1213)、受信したパケットの格納が完了したことを示す確認応答をメールゲートウェイ106に送信する(1214)。
【0105】
メールゲートウェイ106は、データストアサーバ108から確認応答を受信すると、メールを正しく受信したことを示す250 OKメッセージ1215をメールクライアント101に送信する(1215)。
【0106】
その後、メールゲートウェイ106は、宛先a1が収容されるメール転送サーバA(105A)にメールを送信する(1216)。 メール転送サーバA(105A)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ1217をメールゲートウェイ106に送信する。メールゲートウェイ106は、a1宛のメールの転送に成功すると、、a1宛のメールを削除する要求をデータストアサーバ108に送信する(1218)。データストアサーバ108は、a1宛のメールを削除する要求を受信すると、a1宛のメールをメール格納領域1107とメール格納領域1109から削除する。メールゲートウェイ106は、データストアサーバから削除の成功応答1219を受信すると、a1宛のメールの管理情報をメール管理・格納領域205から削除する(1220)。
【0107】
また、メールゲートウェイ106は、宛先b2が収容されるメール転送サーバB(105B)にメールを送信する(1221)。メール転送サーバB(105B)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ1222をメールゲートウェイ106に送信する(1222)。メールゲートウェイ106は、b2宛のメールの転送に成功すると、b2宛のメールを削除する要求をデータストアサーバ108に送信する(1223)。データストアサーバ108は、b2宛のメールを削除する要求を受信すると、メールゲートウェイ106は、b2宛のメールをメール格納領域1107とメール格納領域1109から削除し、データストアサーバから削除の成功応答1224を送信する。メールゲートウェイ106は、成功応答1224を受信すると、b2宛のメールの管理情報をメール管理・格納領域205から削除し(1225)、a1宛のメールとb2宛のメールとで共通に管理されたメール本文のデータをキューから削除する(1226)。
【0108】
図13は、第2の実施の形態のデータストアサーバ108へ送信されるパケットの一例を説明する図である。
【0109】
データストアサーバ108へ送信されるパケットは、パケット種別1310、キー数1300、複数のキー1301、1303、複数の拡張キーデータ1302、1304、及び、登録データ1309を含む。
【0110】
パケット種別1310は、このパケットを受信したデータストアサーバ108によって実行される処理(例えば、登録、削除など)を示す。
【0111】
キー数1300は、このパケットに含まれるキーの数を表す。なお、図13には二つのキーを示したが、キーの数は一つでも任意の複数でもよい。キー1301、1303は、キーに対応するメール管理情報を一意に識別するための識別子である。拡張キーデータ1302、1304は、キーに対応するメール管理情報と基本のメール管理情報との差分のデータを格納する。なお、基本のメール管理情報は、最初のメール管理情報を用いるとよい。登録データ1309は、メール管理情報及びメール本文を含む。
【0112】
第2の実施の形態においても、メールゲートウェイ106は、メール管理方法1〜3のいずれかによってメールを管理する。
【0113】
図14は、第2の実施の形態のメールゲートウェイ106で実行されるメール管理を説明する図であり、完全分離方式(図3A)の場合を示す。
【0114】
まず、宛先毎にメールデータ(メール管理情報、メール本文)が作成される。その後、元のメール1400及びコピーによって新たに作成されたメール1410の各々にキー1301、1303が割り当てられる。
【0115】
そして、各メールのメール管理情報と最初のメールのメール管理情報とを比較し、その差分を拡張キーデータ2(1304)に格納する。なお、拡張キーデータ1(1302)に対応するメール管理情報には差分が生じないので、拡張キーデータ1(1302)には差分がないことを示す情報を格納する。
【0116】
図15は、第2の実施の形態のメールゲートウェイ106によって実行されるパケット構成処理のフローチャートである。
【0117】
まず、2番目のメールのメール管理情報を選択し(1501)、選択されたメール管理情報に対応するキーを作成する(1502)。
【0118】
そして、選択されたメール管理情報と、最初のメール管理情報との差分を抽出し(1503)、対応するキーの拡張キーデータに抽出された差分を格納して、格納キーデータを作成する(1504)。
【0119】
その後、次のメール管理情報があるか否かを判定する(1505)。次のメール管理情報があれば、ステップ1502に戻り、次のメールを処理する。一方、次のメール管理情報がなければ、全てのメール管理情報について処理が完了したので、作成された拡張キーデータを連結して、データストアサーバ108へ送信されるパケットを構成する(1506)。
【0120】
図16は、第2の実施の形態のデータストアサーバ108におけるデータの格納を説明する図である。
【0121】
まず、キー毎の格納領域1621、1622をメール格納領域1109に確保し、確保された格納領域に登録データ1309を格納する。その後の領域に各キーに対応した拡張キーデータ1302、1304を格納する。
【0122】
以上説明したデータストアサーバ108は、宛先毎にメールデータを分離して格納する。これは、一般に、データストアサーバ108は、記憶容量が十分にあり、高速に処理することができるためであり、また、データストアサーバ108は、メールゲートウェイ106から送信されたデータをメールと認識しておらず、メール、テキスト、画像でも同様に扱うだけである。しかし、データストアサーバ108がメールデータを格納する場合、宛先毎にメールデータを再構築して、共通化できる部分をまとめることもできる。
【0123】
図17は、第2の実施の形態のデータストアサーバ108によって実行されるパケット構成処理のフローチャートである。
【0124】
データストアサーバ108は、メールゲートウェイ106からパケットを受信すると、受信したパケットのパケット種別1310を判定する。そして、受信したパケットのパケット種別1310が「登録」であれば、格納パケットを受信したと判定し、パケット格納処理を開始する(1701)。
【0125】
まず、受信した格納パケットから、該パケットに含まれるキーの数を取得して、ループの回数を判定する(1702)。次に、受信したパケットから、キー及びキー拡張データを取得し(1703、1704)、次のキーがなくなるまで(取得したキーの数がステップ1702で取得したキー数と等しくなるまで)、ステップ1703〜1704の処理を繰り返す(1705)。その後、受信した格納パケットから登録データ(メール管理情報、メール本文)を取得する(1706)。
【0126】
その後、取得したキーのうち最初のキーを一つ選択し(1707)、選択されたキーに対応するデータ格納領域を確保する(1708)。そして、ステップ1706で取得した登録データと拡張キーデータとを確保されたデータ格納領域に格納する(1709)。そして、全てのキーの処理が完了するまでステップ1707〜1709の処理を繰り返す。
【0127】
以上説明したように、本発明の第2実施形態によると、メールゲートウェイ106とは別にデータストアサーバ108を設けた場合であっても、適切なメール管理方式を選択し、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
【0128】
また、メールゲートウェイ106は、基本となるメールデータ(メール本文、メール管理情報)と各メール管理情報の差分のみをデータストアサーバ108に送信するので、メールゲートウェイ106からデータストアサーバ108に送信されるデータ量の増加を抑制することができる。
【0129】
さらに、データストアサーバ108は、メールゲートウェイ106から受信したメールデータを再構築することなく、メール格納領域1109に格納するので、データストアサーバ108は、メールにおける処理を高速化することができる。
【符号の説明】
【0130】
101 通信端末
102 無線ネットワーク
103 事業者ネットワーク
104 ネットワーク
105A〜C メール転送サーバ
106 メールゲートウェイ
107 メールボックスサーバ
108 データストアサーバ
【特許請求の範囲】
【請求項1】
端末から送信された電子メールを受信するメールゲートウェイと、
前記端末と前記メールゲートウェイとを接続するネットワークと、を備えるメール転送システムであって、
前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、
前記メールゲートウェイは、
複数のメール転送サーバと接続されており、
転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に備え、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とするメール転送システム。
【請求項2】
前記メールゲートウェイは、
前記受信したメールの宛先に第1の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、第2の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記第1のメール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報、及び、前記第2のメール転送サーバに収容される一つの宛先を含む一つの第2のメール管理情報を作成し、
前記作成された第1及び第2のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項1に記載のメール転送システム。
【請求項3】
前記メールゲートウェイは、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、該メール転送サーバに収容される宛先の数がその最大値を超えていない場合、該メール転送サーバに収容される宛先が格納されたメール管理情報に前記宛先を追加し、
前記受信したメールの宛先に各前記メール転送サーバに収容される一つの宛先のみが含まれ、又は、該メール転送サーバに収容される宛先の数がその最大値を超えている場合、該宛先に対応するメール管理情報を新たに作成することを特徴とする請求項1に記載のメール転送システム。
【請求項4】
前記メールゲートウェイは、
前記受信したメールを前記メール転送サーバに転送する前に、前記受信したメールの本文のデータを修正する必要があるか否かを判定し、
前記受信したメールの本文のデータを修正する必要があると判定された場合、前記メール管理情報毎に該メールの本文を複製し、前記各メール管理情報と前記複製されたメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項1に記載のメール転送システム。
【請求項5】
前記メールゲートウェイは、
前記受信したメールが網内のメール転送サーバ宛であり、画像ファイルが添付されており、かつ、宛先毎の添付ファイルに関する設定が異なる場合、該メールの本文のデータを修正する必要があると判定し、
さらに、前記受信したメールがcHTML形式のメールである場合も、該電子メールの本文のデータを修正する必要があると判定することを特徴とする請求項4に記載のメール転送システム。
【請求項6】
前記メール転送システムは、前記データ格納領域を備えるデータストアサーバを備え、
前記メールゲートウェイは、
前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、
前記作成されたメールデータを前記データストアサーバに送信することを特徴とする請求項1に記載のメール転送システム。
【請求項7】
前記データストアサーバは、前記メールゲートウェイから前記メールデータを受信した場合、前記受信したメールデータを、該メールの宛先毎に再構築することなく、前記データ格納領域に格納することを特徴とする請求項6に記載のメール転送システム。
【請求項8】
端末とネットワークを介して接続され、前記端末から送信された電子メールを受信するメールゲートウェイであって、
前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、
前記メールゲートウェイは、
複数のメール転送サーバと接続されており、
転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に備え、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とするメールゲートウェイ。
【請求項9】
前記受信したメールの宛先に第1の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、第2の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記第1のメール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報、及び、前記第2のメール転送サーバに収容される一つの宛先を含む一つの第2のメール管理情報を作成し、
前記作成された第1及び第2のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項10】
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、該メール転送サーバに収容される宛先の数がその最大値を超えていない場合、該メール転送サーバに収容される宛先が格納されたメール管理情報に前記宛先を追加し、
前記受信したメールの宛先に各前記メール転送サーバに収容される一つの宛先のみが含まれ、又は、該メール転送サーバに収容される宛先の数がその最大値を超えている場合、該宛先に対応するメール管理情報を新たに作成することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項11】
前記受信したメールを前記メール転送サーバに転送する前に、前記受信したメールの本文のデータを修正する必要があるか否かを判定し、
前記受信したメールの本文のデータを修正する必要があると判定された場合、前記メール管理情報毎に該メールの本文を複製し、前記各メール管理情報と前記複製されたメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項12】
前記受信したメールが網内のメール転送サーバ宛であり、画像ファイルが添付されており、かつ、宛先毎の添付ファイルに関する設定が異なる場合、該メールの本文のデータを修正する必要があると判定し、
さらに、前記受信したメールがcHTML形式のメールである場合も、該電子メールの本文のデータを修正する必要があると判定することを特徴とする請求項11に記載のメールゲートウェイ。
【請求項13】
前記メール転送システムは、前記データ格納領域を備えるデータストアサーバを備え、
前記メールゲートウェイは、
前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、
前記作成されたメールデータを前記データストアサーバに送信することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項14】
端末から送信されメールゲートウェイが受信した電子メールを一時的に格納するデータ格納領域を備えるデータストアサーバであって、
前記メールゲートウェイは、受信した前記メールを複数の宛先に転送する場合、前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、前記作成されたメールデータを前記データストアサーバに送信し、
前記データストアサーバは、前記メールゲートウェイから前記メールデータを受信した場合、前記受信したメールデータを、該メールの宛先毎に再構築することなく、前記データ格納領域に格納することを特徴とするデータストアサーバ。
【請求項1】
端末から送信された電子メールを受信するメールゲートウェイと、
前記端末と前記メールゲートウェイとを接続するネットワークと、を備えるメール転送システムであって、
前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、
前記メールゲートウェイは、
複数のメール転送サーバと接続されており、
転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に備え、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とするメール転送システム。
【請求項2】
前記メールゲートウェイは、
前記受信したメールの宛先に第1の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、第2の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記第1のメール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報、及び、前記第2のメール転送サーバに収容される一つの宛先を含む一つの第2のメール管理情報を作成し、
前記作成された第1及び第2のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項1に記載のメール転送システム。
【請求項3】
前記メールゲートウェイは、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、該メール転送サーバに収容される宛先の数がその最大値を超えていない場合、該メール転送サーバに収容される宛先が格納されたメール管理情報に前記宛先を追加し、
前記受信したメールの宛先に各前記メール転送サーバに収容される一つの宛先のみが含まれ、又は、該メール転送サーバに収容される宛先の数がその最大値を超えている場合、該宛先に対応するメール管理情報を新たに作成することを特徴とする請求項1に記載のメール転送システム。
【請求項4】
前記メールゲートウェイは、
前記受信したメールを前記メール転送サーバに転送する前に、前記受信したメールの本文のデータを修正する必要があるか否かを判定し、
前記受信したメールの本文のデータを修正する必要があると判定された場合、前記メール管理情報毎に該メールの本文を複製し、前記各メール管理情報と前記複製されたメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項1に記載のメール転送システム。
【請求項5】
前記メールゲートウェイは、
前記受信したメールが網内のメール転送サーバ宛であり、画像ファイルが添付されており、かつ、宛先毎の添付ファイルに関する設定が異なる場合、該メールの本文のデータを修正する必要があると判定し、
さらに、前記受信したメールがcHTML形式のメールである場合も、該電子メールの本文のデータを修正する必要があると判定することを特徴とする請求項4に記載のメール転送システム。
【請求項6】
前記メール転送システムは、前記データ格納領域を備えるデータストアサーバを備え、
前記メールゲートウェイは、
前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、
前記作成されたメールデータを前記データストアサーバに送信することを特徴とする請求項1に記載のメール転送システム。
【請求項7】
前記データストアサーバは、前記メールゲートウェイから前記メールデータを受信した場合、前記受信したメールデータを、該メールの宛先毎に再構築することなく、前記データ格納領域に格納することを特徴とする請求項6に記載のメール転送システム。
【請求項8】
端末とネットワークを介して接続され、前記端末から送信された電子メールを受信するメールゲートウェイであって、
前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、
前記メールゲートウェイは、
複数のメール転送サーバと接続されており、
転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に備え、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、
前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とするメールゲートウェイ。
【請求項9】
前記受信したメールの宛先に第1の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、第2の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記第1のメール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報、及び、前記第2のメール転送サーバに収容される一つの宛先を含む一つの第2のメール管理情報を作成し、
前記作成された第1及び第2のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項10】
前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、該メール転送サーバに収容される宛先の数がその最大値を超えていない場合、該メール転送サーバに収容される宛先が格納されたメール管理情報に前記宛先を追加し、
前記受信したメールの宛先に各前記メール転送サーバに収容される一つの宛先のみが含まれ、又は、該メール転送サーバに収容される宛先の数がその最大値を超えている場合、該宛先に対応するメール管理情報を新たに作成することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項11】
前記受信したメールを前記メール転送サーバに転送する前に、前記受信したメールの本文のデータを修正する必要があるか否かを判定し、
前記受信したメールの本文のデータを修正する必要があると判定された場合、前記メール管理情報毎に該メールの本文を複製し、前記各メール管理情報と前記複製されたメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項12】
前記受信したメールが網内のメール転送サーバ宛であり、画像ファイルが添付されており、かつ、宛先毎の添付ファイルに関する設定が異なる場合、該メールの本文のデータを修正する必要があると判定し、
さらに、前記受信したメールがcHTML形式のメールである場合も、該電子メールの本文のデータを修正する必要があると判定することを特徴とする請求項11に記載のメールゲートウェイ。
【請求項13】
前記メール転送システムは、前記データ格納領域を備えるデータストアサーバを備え、
前記メールゲートウェイは、
前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、
前記作成されたメールデータを前記データストアサーバに送信することを特徴とする請求項8に記載のメールゲートウェイ。
【請求項14】
端末から送信されメールゲートウェイが受信した電子メールを一時的に格納するデータ格納領域を備えるデータストアサーバであって、
前記メールゲートウェイは、受信した前記メールを複数の宛先に転送する場合、前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、前記作成されたメールデータを前記データストアサーバに送信し、
前記データストアサーバは、前記メールゲートウェイから前記メールデータを受信した場合、前記受信したメールデータを、該メールの宛先毎に再構築することなく、前記データ格納領域に格納することを特徴とするデータストアサーバ。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−54623(P2012−54623A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−193122(P2010−193122)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]