(57)【特許請求の範囲】
【請求項１】
電子メールを配送するメールサーバのためのプログラムであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得し、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインと、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを機能させ、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されていない場合に、当該電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得し、
当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、
取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
【請求項２】
電子メールを配送するメールサーバのためのプログラムであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを機能させ、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得し、
当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、
取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記配送部が、
前記新たに受け付けた電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得できない場合、当該電子メールの宛先のドメインをホストとし、
当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、
取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインに基づくホストが前記記憶部に記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
【請求項６】
電子メールを配送するメールサーバであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得し、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインと、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部と、を含み、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されていない場合に、当該電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得し、
当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、
取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするメールサーバ。
【請求項７】
電子メールを配送するメールサーバであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部と、を含み、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインに基づいて、ＤＮＳサーバからＭＸレコードのホストを取得し、
当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、ＤＮＳサーバから接続先アドレスを取得し、
取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするメールサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及びメールサーバに関する。
【背景技術】
【０００２】
従来から、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を通じてネットワーク上で電子メールの受信と配送を行うメールサーバが存在する（例えば、特許文献１）。
【０００３】
また、従来から、通信負荷を減らしアクセスに必要な時間を短縮させるためにコネクションプールと呼ばれる技術がある。コネクションプールとは、コネクションプーリングとも呼ばれ、アクセスのたびに接続（コネクション）を確立するのではなく、予め確立された接続を使い回す通信処理のことをいう。
【０００４】
例えば、特許文献２では、データベースシステムにおいてアプリケーションとデータベースサーバとの間で予め複数のコネクションを用意し、アプリケーションからコネクション取得要求があった場合にプールされたコネクションを使用するものが開示されている（特許文献２の図４参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−０２９００９号公報
【特許文献２】特開２００７−２２６３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
メールサーバは、宛先のドメインに基づきＤＮＳサーバ（ＤＮＳは「ドメインネームシステム（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）」の略。以下、同様）に問い合わせ、接続先（配送先）のＩＰアドレス（ＩＰは「インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）」の略。以下、同様）を取得し、ＩＰアドレスのメールサーバで通信を行う通信路を確立して電子メールを配送する。
【０００７】
従来のメールサーバにおいては、接続を再利用するコネクションプールの発想はなかった。そのため、例えば、同じドメイン宛の電子メールを複数配送する場合であっても、一の電子メールを配送する度に、接続先のＩＰアドレスを取得して接続を確立して配送し、配送が終了すると切断する処理を行うので、通信路の確立・切断する処理に時間を要してしまっていた。
【０００８】
そして、電子メールでのコミュニケーションが益々増えてきている近年においては、メールサーバの処理負荷を減らし処理時間を短縮させることが課題となってきている。
【０００９】
本発明は、上述した課題に鑑みたものであり、その目的は、メールサーバにおいてコネクションプールの技術を利用し、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることが可能なプログラム及びメールサーバを提供することにある。
【課題を解決するための手段】
【００１０】
（１）本発明は、
電子メールを配送するメールサーバのためのプログラムであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、ＤＮＳサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインと前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを機能させ、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うプログラムに関する。
【００１１】
また、本発明は、上記プログラムを記憶した情報記憶媒体、及び、上記各部として構成するメールサーバに関係する。
【００１２】
ここで、接続先アドレスとは、電子メールを配送するための配送先のメールサーバのネットワーク上のアドレスであり、例えば、ＩＰアドレス（ＩＰｖ４、ＩＰｖ６などのＩＰでネットワーク上の機器を識別するために指定するネットワーク層における識別番号）である。
【００１３】
本発明によれば、新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの接続先アドレスの取得処理、そして、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
【００１４】
（２）また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクション情報管理部が、
ＤＮＳサーバから前記電子メールの宛先のドメインに基づいてＭＸレコードのホストを取得できた場合に、前記電子メールの宛先のドメイン、当該ホスト、前記接続先アドレスを一組として前記記憶部に記憶する処理を行い、
ＤＮＳサーバから前記電子メールの宛先のドメインに基づいてＭＸレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストと前記接続先アドレスとを対応付けて前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されている場合に当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
【００１５】
本発明によれば、新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されている場合に当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの宛先ドメインのメールサーバのホストの取得処理及び接続先アドレスの取得処理、そして、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
【００１６】
なお、前記記憶部に記憶される一組の「電子メールの宛先のドメイン、ホスト、接続先アドレス」は、電子メールの宛先のドメインとホストとが対応関係にあり、ホストと接続先アドレスとが対応関係にあり、電子メールの宛先のドメインと接続先アドレスとが対応関係にある。
【００１７】
（３）また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクション情報管理部が、
ＤＮＳサーバから前記電子メールの宛先のドメインに基づいてＭＸレコードのホストを取得できた場合に、前記電子メールの宛先のドメイン、当該ホスト、前記接続先アドレスを一組として前記記憶部に記憶する処理を行い、
ＤＮＳサーバから前記電子メールの宛先のドメインに基づいてＭＸレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストと前記接続先アドレスとを対応付けて前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されていない場合には、新たに受け付けた電子メールの宛先のドメインに基づいてＤＮＳサーバにＭＸレコードのホストを取得要求し、当該ホストを取得できた場合には、当該ホストが、前記記憶部にホストとして記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
【００１８】
本発明によれば、新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されていない場合には、新たに受け付けた電子メールの宛先のドメインに基づいてＤＮＳサーバにＭＸレコードのホストを取得要求し、当該ホストを取得できた場合には、当該ホストが、前記記憶部にホストとして記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの接続先アドレスの取得処理、そして、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
【００１９】
（４）また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記配送部が、
同一のドメイン宛の電子メールを複数受け付けた場合に、所定条件下で当該ドメインに対して複数の接続を確立し、並列して複数の電子メールを配送する処理を行い、
前記コネクションプール部が、
複数の接続を保持し、
前記コネクション情報管理部が、
接続毎に、前記電子メールの宛先のドメインと接続先アドレスとを対応付けて前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインに対する接続先アドレスが前記記憶部に複数記憶されている場合には、配送中でないいずれかの接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
【００２０】
本発明によれば、宛先のドメインが同じ電子メールを複数受け付けた場合に、所定条件下で当該ドメインに対して複数の接続を確立し、並列して複数の電子メールを配送する処理を行う。つまり、本発明によれば、所定条件下で当該ドメインに対してコネクションプール数を増やすことができ、例えば、宛先のドメインが同じ電子メールを大量に受け付けた場合には、当該電子メールの宛先のドメインに対応する接続先アドレスの配送中でない（空いている）接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの宛先ドメインのメールサーバのホストの取得処理及び接続先アドレスの取得処理、そして、接続を確立する処理を省略しつつ、配送処理を分散させることができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
【００２１】
（５）また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクションプール部が、
前記電子メールの宛先のドメインが特定のドメインである場合に、当該ドメインに基づく前記接続先アドレスへの接続を保持し、
前記電子メールの宛先のドメインが特定のドメインでない場合に、当該電子メールを配送後、当該ドメインに基づく前記接続先アドレスへの接続を切断してもよい。
【００２２】
本発明によれば、特定ドメインについて接続を保持するので、効率よく配送処理を行うことができる。例えば、特定ドメインの宛先の電子メールの配送数が多いことが予想される場合には、コネクションプールを活用して処理負荷を軽減し効率よく特定ドメインの宛先の電子メールを配送することができる。また、特定ドメイン以外の宛先の電子メールについては、コネクションプールを利用しないので、無駄なシステムリソースを消費することを避けることができる。
【００２３】
（６）また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクション情報管理部が、
前記電子メールの宛先のドメイン、前記接続先アドレス、及び当該接続を保持しているか否かを示す接続ステータスを一組として前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合であって、当該電子メールの宛先のドメインに対応する接続ステータスが接続を保持していることを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行い、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合であって、当該電子メールの宛先のドメインに対応する接続ステータスが接続を保持していないことを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスに接続して前記電子メールを配送する処理を行い、
前記コネクション情報管理部が、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していることを示す情報に設定し、
前記接続先アドレスへの接続を保持していない場合に、前記電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していないことを示す情報に設定してもよい。
【００２４】
本発明によれば、新たに受け付けた電子メールの宛先のドメインに対応する接続先アドレスへの接続を保持していなくても、当該ドメインが前記記憶部に記憶されている場合には、ＤＮＳサーバへの接続先アドレスの取得処理を省略して、当該接続先アドレスへの接続を確立して電子メールを配送することができる。また、本発明によれば、新たに受け付けた電子メールの宛先のドメインに対応する接続先アドレスへの接続を保持している場合には、ＤＮＳサーバへの接続先アドレスの取得処理、そして、接続を確立する処理を省略して電子メールを配送することができる。したがって、本発明によれば更にメールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
【００２５】
なお、前記記憶部に記憶される一組の「電子メールの宛先のドメイン、接続先アドレス、接続ステータス」は、電子メールの宛先のドメインと接続先アドレスとが対応関係にあり、接続先アドレスと接続ステータスとが対応関係にあり、電子メールの宛先のドメインと接続ステータスとが対応関係にある。
【００２６】
（７）また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインに基づいてＤＮＳサーバから取得した接
続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
【００２７】
本発明によれば、新たに受け付けた電子メールの宛先のドメインに基づいてＤＮＳサーバから取得した接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態のネットワーク図の一例。
【図２】本実施形態のメールサーバの機能ブロック図の一例。
【図３】本実施形態の接続先アドレスを取得する手法の説明図。
【図４】本実施形態のコネクション情報の説明図。
【図５】本実施形態のコネクション情報の説明図。
【図６Ａ】本実施形態の処理のフローチャート図。
【図６Ｂ】本実施形態の処理のフローチャート図。
【図６Ｃ】本実施形態の処理のフローチャート図。
【図６Ｄ】本実施形態の処理のフローチャート図。
【図６Ｅ】本実施形態の処理のフローチャート図。
【図７】本実施形態の処理のフローチャート図。
【発明を実施するための形態】
【００２９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３０】
１．ネットワーク
図１は、本実施形態のネットワーク図の一例である。本実施形態のメールサーバ１０は、ＳＭＴＰを通じてネットワーク上で電子メールの受け付け（受信）と配送を行うＭＴＡ（Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ａｇｅｎｔ）である。
【００３１】
メールサーバ１０は、配送処理に用いるエンベロープの宛先（宛先メールアドレス）及びエンベロープの差出元（差出元メールアドレス）、メッセージとからなる電子メールを受信し、ネットワークを介して受信した当該電子メールを、エンベロープの宛先に基づいて配送先メールサーバ（送信先メールサーバ）に配送する処理を行う。
【００３２】
より詳しく説明すると、メールサーバ１０は、ＭＵＡ（Ｍａｉｌ  Ｕｓｅｒ  Ａｇｅｎｔ）から送信された電子メールを受け付ける。なお、ＭＵＡとは、インターネット上の端末において電子メールを送受信するために使用されるクライアントプログラムである。
【００３３】
次に、メールサーバ１０は、受信した電子メールのエンベロープの宛先のドメインを管理しているＤＮＳサーバや、メールサーバ１０のローカルエリア内のＤＮＳサーバ、或いは他のＤＮＳサーバに、受信した電子メールのエンベロープの宛先のドメインのＭＸレコードのホストを問い合わせる。例えば、メールサーバ１０は、ＤＮＳサーバに宛先のドメインのＭＸレコードを問い合わせ、ドメインのホストを取得する。
【００３４】
そして、メールサーバ１０は、受信した電子メールのエンベロープの宛先のドメインのＭＸレコードのホストを取得できた場合には、当該ホストのＩＰアドレスを問い合わせる。また、メールサーバは、受信した電子メールのエンベロープの宛先のドメインのＭＸレ
コードのホストを取得できなかった場合には、当該ドメインをホストに指定してＩＰアドレスを問い合わせる。例えば、メールサーバ１０は、ＤＮＳサーバに当該ホストのＡレコード（ＩＰｖ６の場合はＡＡＡＡレコード、以下同じ）を問い合わせ、ホストのＩＰアドレスを取得する。つまり、このＩＰアドレスが、配送先メールサーバの配送先アドレスとなる。
【００３５】
そして、メールサーバ１０は、ＩＰアドレスに基づき配送先メールサーバと接続を確立し、電子メールを配送（配信、送信、転送、リレー）する処理を行う。
【００３６】
なお、本実施形態のメールサーバ１０が電子メールを受け付けるとは、ＳＭＴＰを通じて、端末から電子メールを受け付ける場合、及び、ＳＭＴＰを通じて他のメールサーバから配送された電子メールを受け付ける場合を含む。
【００３７】
また、本実施形態のメールサーバ１０が電子メールを配送するとは、ＳＭＴＰを通じて、受信した電子メールを他のメールサーバに配送する処理や、メールサーバ１０が稼動する同一システム内にアカウントを持つユーザ宛に配送するためのローカル配信エージェントＭＤＡ（Ｍａｉｌ  Ｄｅｌｉｖｅｒｙ  Ａｇｅｎｔ）に配送する処理、ＭＤＡを介せずにメールサーバが稼動する同一システム内にアカウントを持つユーザ宛にローカル配送する処理を含む。
【００３８】
２．構成
図２は、本実施形態のメールサーバ１０の機能ブロック図の一例である。なお、本実施形態のメールサーバ１０は、図２の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
【００３９】
記憶部１７０は、処理部１００などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。
【００４０】
本実施形態の記憶部１７０には、コネクション情報１７１を含む。コネクション情報１７１は、プーリングされているコネクションの情報であり、ドメイン、ホスト、接続先アドレス（ＩＰアドレス）を含む。ドメイン、ホスト、接続先アドレスは一組として記憶される。一組のドメイン、ホスト、接続先アドレスは、ドメインとホストとが対応関係にあり、ホストと接続先アドレスが対応関係にあり、ドメインと接続先アドレスが対応関係にある。以下の説明でも同様である。
【００４１】
また、コネクション情報１７１は、接続を保持しているか否かを示す接続ステータスを含んでいてもよい。接続ステータスを含む場合、接続ステータスは、ドメイン、ホスト、接続先アドレスと一組として記憶される。以下の説明でも同様である。
【００４２】
なお、記憶部１７０には、受け付け部１１１によって受け付けた電子メールを一時的に格納するためのスプール領域（記憶領域）を確保してもよい。なお、スプール領域に記憶された電子メールは、配送処理が完了（配送正常終了あるいは配送エラー終了）すると、スプール領域から削除される。なお、配送エラー終了の場合、つまり、配送先メールサーバに配送できない電子メールについては、再度、スプール領域に格納される。
【００４３】
また、情報記憶媒体１８０は、コンピュータにより読み取り可能であり、この情報記憶媒体１８０にはプログラムやデータなどが格納されている。即ち、情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。つまり、処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）から読み出されたデータに基
づいて本実施形態の種々の処理を行うことができる。
【００４４】
例えば、情報記憶媒体１８０は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）、メモリカード等である。
【００４５】
処理部１００は、記憶部１７０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。なお、本実施形態の処理部１００が、情報記憶媒体１８０に格納されているプログラムやデータを読み出し、読み出したプログラムやデータを記憶部１７０に格納し、そのプログラムやデータに基づいて処理を行ってもよい。
【００４６】
処理部１００（プロセッサ）は、記憶部１７０内の主記憶部をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）などのハードウェアや、プログラムにより実現できる。
【００４７】
処理部１００は、受け付け部１１１、コネクションプール部１１２、コネクション情報管理部１１４、配送部１１５と、を含む。
【００４８】
受け付け部１１１は、端末（コンピュータ、携帯電話、タブレット型コンピュータ、スマートフォン）のＭＵＡによって、差出元から送信され、エンベロープの宛先が指定された電子メールを受け付ける処理（受信する処理）を行う。
【００４９】
コネクションプール部１１２は、電子メールを配送する際に接続した接続先アドレスへの接続を保持（維持）する処理を行う。例えば、接続先アドレスへの接続は所定の期間（タイムアウトが到来するまで）、保持され、所定の期間経過後は切断する。
【００５０】
また、コネクションプール部１１２は、複数の接続を保持してもよい。例えば、同一又は異なる複数の接続先アドレスへの接続を保持してもよい。
【００５１】
また、コネクションプール部１１２は、電子メールの宛先のドメインが特定のドメインである場合に、当該ドメインに基づく接続先アドレスへの接続を保持し、電子メールの宛先のドメインが特定のドメインでない場合に、当該電子メールを配送後、当該ドメインに基づく接続先アドレスへの接続を切断してもよい。
【００５２】
コネクション情報管理部１１４は、電子メールを配送する際に接続した接続先アドレスへの接続を保持している場合に、当該電子メールの宛先のドメイン、当該接続先アドレスを一組としてコネクション情報として記憶部に記憶（登録）する処理を行う。
【００５３】
例えば、コネクション情報管理部１１４は、ＤＮＳサーバから当該電子メールの宛先のドメインのＭＸレコードのホストを取得できた場合に、当該電子メールの宛先のドメイン、当該ホスト、当該接続先アドレスを一組としてコネクション情報として記憶部に記憶する処理を行う。
【００５４】
また、コネクション情報管理部１１４は、ＤＮＳサーバから当該電子メールの宛先のドメインのＭＸレコードのホストを取得できない場合に、電子メールの宛先メールドレスのドメインをホストとし、当該ホスト、当該接続先アドレスを一組としてコネクション情報として記憶部に記憶する処理を行う。
【００５５】
また、コネクション情報管理部１１４は、複数の接続が保持されている場合には、接続毎に、電子メールの宛先のドメインと接続先アドレスとを対応付けて記憶部に記憶する処
理を行う。
【００５６】
また、コネクション情報管理部１１４は、接続先アドレスへの接続を保持しているか否かにかかわらず、電子メールの宛先のドメイン、接続先アドレス、及び当該接続を保持しているか否かを示す接続ステータスを一組として記憶部に記憶する処理を行ってもよい。そして、コネクション情報管理部１１４は、接続先アドレスへの接続を保持している場合に、電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していることを示す情報に設定し、接続先アドレスへの接続を保持していない場合に、電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していないことを示す情報に設定する。
【００５７】
配送部１１５は、受け付けた電子メールを配送する処理を行う。例えば、配送部１１５は、電子メールの宛先メールドレスのドメインに基づいて、ＤＮＳサーバから接続先アドレス（例えば、接続先のメールサーバのＩＰアドレス）を取得し、接続先アドレスに接続して電子メールを配送する処理を行う。
【００５８】
また、配送部１１５は、新たに電子メールを受け付けた場合に当該電子メールの宛先のドメインが記憶部に記憶されているか否かを判断する（コネクション情報として記憶されているか否かを判断する）。そして、当該電子メールの宛先のドメインが記憶部に記憶されている場合に（コネクション情報として記憶されている場合に）、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
【００５９】
例えば、配送部１１５は、新たに電子メールを受け付けた場合に当該電子メールの宛先のドメインが、記憶部にドメイン又はホストとして記憶されているか否かを判断する（コネクション情報のドメイン又はホストとして記憶されているか否かを判断する）。そして、当該電子メールの宛先のドメインが記憶部にドメイン又はホストとして記憶されている場合（コネクション情報のドメイン又はホストとして記憶されている場合）に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
【００６０】
また、例えば、配送部１１５は、新たに受け付けた電子メールの宛先のドメインが、記憶部にドメイン又はホストとして記憶されていない場合には、新たに受け付けた電子メールの宛先のドメインに基づいてＤＮＳサーバからＭＸレコードのホストを取得要求し、当該ホストを取得できた場合には、当該ホストが、記憶部にホストとして記憶されている場合（コネクション情報のホストとして記憶されている場合）に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
【００６１】
また、配送部１１５は、宛先のドメインが同じ電子メールを複数受け付けた場合に、所定条件下で当該ドメインに対して複数の接続を確立し、並列して複数の電子メールを配送する処理を行ってもよい。そして、配送部１１５は、新たに受け付けた電子メールの宛先のドメインに対する接続先アドレスが記憶部に複数記憶されている場合には、配送中でない（空いている）いずれかの接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
【００６２】
また、配送部１１５は、新たに受け付けた電子メールの宛先のドメインが記憶部に記憶されている場合であって、当該電子メールの宛先のドメインに対応する接続ステータスが接続を保持していることを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行い、新たに受け付けた電子メールの宛先のドメインが記憶部に記憶されている場合であって、当該電子メ
ールの宛先のドメインに対応する接続ステータスが接続を保持していないことを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスに接続して電子メールを配送する処理を行ってもよい。
【００６３】
また、配送部１１５は、新たに受け付けた電子メールの宛先のドメインに基づいてＤＮＳサーバから取得した接続先アドレスが記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
【００６４】
３．本実施形態の処理の説明
（１）配送の概要
本実施形態のメールサーバは、電子メールを配送する際にＤＮＳサーバにアクセスし、電子メールのエンベロープの宛先のドメインに基づいて、ドメインのＭＸレコードを問い合わせ、接続先（配送先）のホスト（メールサーバ）を取得する。そして、ホストを取得できた場合には、ＤＮＳサーバにＡレコードを問い合わせ、配送先のホストのＩＰアドレスを取得する。メールサーバは、取得したＩＰアドレスにＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）で接続（コネクション）を確立しＳＭＴＰで電子メールを配送する処理を行う。
【００６５】
特に、本実施形態では、一度確立した接続は、予めメールサーバが定めた所定期間が経過するまで接続を保持（維持、プール）し、当該接続を利用して同一ドメイン宛の電子メールを配送する処理を行う。
【００６６】
（２）接続の確立
まず、メールサーバが、接続を確立する際の詳細について説明する。メールサーバは、例えば、「ａａａ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先（エンベロープの宛先）とする電子メールを受け付けると、ドメイン「ｘｘｘ．ｃｏ．ｊｐ」を抽出し、ＭＸレコードに記載されている、ドメイン「ｘｘｘ．ｃｏ．ｊｐ」のホストをＤＮＳサーバへ取得要求する。例えば、図３に示すように、「ｍａｉｌ１．ｘｘｘ．ｃｏ．ｊｐ」、「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」、「ｍａｉｌ３．ｘｘｘ．ｃｏ．ｊｐ」のようにドメイン「ｘｘｘ．ｃｏ．ｊｐ」に対するホストを取得する。取得するホストは１つの場合もあるし複数の場合もある。
【００６７】
そして、メールサーバは、一のホストを任意に、或いは優先度に従って選択し、更にＡレコードに記載されている、当該ホストのＩＰアドレスをＤＮＳサーバへ取得要求する。そして、例えば、「ｍａｉｌ１．ｘｘｘ．ｃｏ．ｊｐ」のＩＰアドレス「２１１．１２５．９５．１８８」を取得すると、通信路を開くために当該ＩＰアドレスの接続を確立する。そして、接続確立後、配送先のメールサーバに「ａａａ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールのデータを配送（送信）する処理を行う。
【００６８】
なお、ホストに対するＩＰアドレスも複数存在することもあり、複数のＩＰアドレスが存在する場合には、ＤＮＳサーバが選択した一のＩＰアドレスを受信する。なお、メールサーバがＤＮＳサーバから複数のＩＰアドレスを受信した場合には、一の接続先のＩＰアドレスを任意に、或いは優先度に従って選択する。
【００６９】
（３）コネクションプール
本実施形態では、メールサーバにコネクションプールの技術を利用している。つまり、本実施形態のメールサーバは、受け付けた電子メールの宛先のドメインが現在保持されている接続を利用できる場合には再利用して接続を確立する処理を省略する。このようにすれば、メールサーバの処理負荷を減らすことができ、電子メールの配送の処理時間を短縮させることができるからである。
【００７０】
例えば、電子メールの宛先のドメインは、図３に示すように、ホストが複数存在する場合もあり、更に各ホストに対して複数のＩＰアドレスが存在する場合もある。そして「ｘｘｘ．ｃｏ．ｊｐ」のドメイン宛の電子メールの配送先のＩＰアドレスは、例えば、Ａ１〜Ａ３、Ｂ１〜Ｂ３、Ｃ１〜Ｃ３のように９つあり、いずれのＩＰアドレスにも配送可能である。メールサーバは、同じドメイン宛の電子メールを受け付ける度に、ホストやＩＰアドレスを取得して、この９つのうちいずれかの接続を確立し、配送後切断する処理を行うのでは効率が悪い。
【００７１】
そこで、本実施形態では、同一ドメイン宛の電子メールの配送は、保持されている接続を使い回し、ホストやＩＰアドレスの取得を省略し、更に、接続を確立する処理も省略して、メールサーバの処理負荷を減らすように制御している。
【００７２】
例えば、「ａａａ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを配送すると、当該ドメイン「ｘｘｘ．ｃｏ．ｊｐ」の接続を配送終了時点から所定期間（例えば、３０秒）保持し、接続を保持している間に、新たに同一のドメイン「ｘｘｘ．ｃｏ．ｊｐ」宛の電子メールを受け付けた場合、例えば、「ｂｂｂ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを受け付けた場合、保持されている接続を利用して「ｂｂｂ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを配送する。
【００７３】
また、本実施形態のメールサーバは、図４に示すように、電子メールの宛先のドメインの接続が保持されているコネクション情報ＣＮ１を記憶部に記憶する。コネクション情報ＣＮ１は、接続中のドメイン、ホスト、ＩＰアドレスを含み、ドメイン、ホスト、ＩＰアドレスを一組として記憶する。
【００７４】
本実施形態では、ＩＰアドレスの接続が開始されてから接続が終了（切断）されるまでの間、当該ＩＰアドレスに関するコネクション情報ＣＮ１を記憶し、接続が終了したタイミングで当該コネクション情報ＣＮ１を記憶部から削除する処理を行う。
【００７５】
メールサーバは、電子メールの宛先のドメイン部分を抽出し、抽出したドメインがコネクション情報のドメインとして記憶されているか否かを判断することによって、保持された接続があるか否かを判断している。
【００７６】
例えば、「ｂｂｂ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを受け付けると、「ｘｘｘ．ｃｏ．ｊｐ」のドメインがコネクション情報として記憶されているか否かを判断する。例えば、図４に示すように「ｘｘｘ．ｃｏ．ｊｐ」のドメインがコネクション情報ＣＮ１として記憶されている場合には、「ｘｘｘ．ｃｏ．ｊｐ」に対応するＩＰアドレス「２１１．１２５．９５．１８８」の接続を利用して「ｂｂｂ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを配送する処理を行う。
【００７７】
（４）電子メールの宛先ドメインがホストである場合
メールサーバは、抽出した電子メールの宛先のドメインが、コネクション情報として記憶されていない場合には、ＭＸレコードのホストをＤＮＳサーバへ取得要求する。かかる場合において、ＤＮＳサーバからＭＸレコードのホストを取得できない場合、当該ドメインをホストとして指定して接続を確立する。
【００７８】
例えば、メールサーバは、「ｃｃｃ＠ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを受け付けた場合に、当該宛先のドメインを抽出し、ドメイン「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」のＭＸレコードをＤＮＳサーバに問い合わせる。しかし、ドメイン「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」のＭＸレコードがなく、ＤＮＳサーバから当該ドメ
インのＭＸレコードのホストを取得できない場合には、「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」をホストに指定する。そして、メールサーバは当該ホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」のＩＰアドレスを、ＤＮＳサーバにＡレコードを問い合わせることによって取得する。例えば、当該ホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」のＩＰアドレスを、ＤＮＳサーバにＡレコードを問い合わせることによって「２１１．１２５．９５．１８５」を取得する。そして、メールサーバは、取得した当該ＩＰアドレスと接続を確立し、「ｃｃｃ＠ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを配送する処理を行う。そして、当該ホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」の接続を配送終了時点から所定期間保持し、図５（Ａ）に示すように、当該ホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」及び、当該ＩＰアドレス「２１１．１２５．９５．１８５」を対応付けて、コネクション情報ＣＮ２として記憶部に記憶する。なお、ＤＮＳサーバから当該宛先のドメイン「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」のＭＸレコードのホストを取得できず、「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」をホストに指定した場合は、コネクション情報ＣＮ２のドメインを未設定（未記憶）の状態とする。
【００７９】
そして、例えば、「ｄｄｄ＠ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを受け付けると、当該宛先のドメイン「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」がコネクション情報のドメイン又はホストとして記憶されているか否かを判断する。例えば、図５（Ａ）に示すように「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」がコネクション情報ＣＮ２のホストとして記憶されている場合には、当該ホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」に対応するＩＰアドレス「２１１．１２５．９５．１８５」の接続を利用して「ｄｄｄ＠ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを配送する処理を行う。
【００８０】
また、例えば、「ｅｅｅ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを受け付けると、当該宛先のドメイン「ｘｘｘ．ｃｏ．ｊｐ」がコネクション情報のドメイン又はホストとして記憶されているか否かを判断する。例えば、現在、記憶部に記憶されているコネクション情報が、図５（Ａ）に示すようにホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」がコネクション情報ＣＮ２のみである場合には、宛先のドメイン「ｘｘｘ．ｃｏ．ｊｐ」がコネクション情報のドメイン又はホストとして記憶されていない。ゆえに、メールサーバは、ＭＸレコードに記載されている、ドメイン「ｘｘｘ．ｃｏ．ｊｐ」のホストをＤＮＳサーバへ取得要求する。例えば、図３に示すように、「ｍａｉｌ１．ｘｘｘ．ｃｏ．ｊｐ」、「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」、「ｍａｉｌ３．ｘｘｘ．ｃｏ．ｊｐ」のようにドメイン「ｘｘｘ．ｃｏ．ｊｐ」に対するホストを３つ取得する。すると、取得したホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」がコネクション情報として記憶されているので、当該コネクション情報のＩＰアドレスの接続を利用して電子メールを配送する。つまり、現在のコネクション情報が、図５（Ａ）に示すように当該ホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」がコネクション情報ＣＮ２のみである場合には、当該ホスト「ｍａｉｌ２．ｘｘｘ．ｃｏ．ｊｐ」に対応するＩＰアドレス「２１１．１２５．９５．１８５」の接続を利用して「ｅｅｅ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールを配送する処理を行う。
【００８１】
また、このように「ｅｅｅ＠ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールのドメイン「ｘｘｘ．ｃｏ．ｊｐ」が、既に記憶されているコネクション情報ＣＮ２のドメインの情報がなく、ホストがコネクション情報として記憶されている場合には、図５（Ｂ）に示すように、コネクション情報ＣＮ２にドメイン「ｘｘｘ．ｃｏ．ｊｐ」を上書きして記憶する。このようにすれば、「ｘｘｘ．ｃｏ．ｊｐ」のドメイン宛の電子メールについては、以後はＤＮＳサーバへのＭＸレコードのホストの取得要求が不要になり、処理負荷を軽減できるからである。
【００８２】
（５）取得したＩＰアドレスが記憶されている場合の処理例
本実施形態では、新たに受け付けた電子メールの宛先のドメインが記憶部にコネクション情報のドメイン又はホストとして記憶されていない場合、新たに受け付けた電子メールの宛先のドメインに基づいてＤＮＳサーバからＭＸレコードのホストを取得し、ＤＮＳサーバからＭＸレコードのホストを取得できた場合には当該ホストに基づいてＡレコードのＩＰアドレスをＤＮＳサーバへ取得要求する。また、ＤＮＳサーバからＭＸレコードのホストを取得できない場合には、新たに受け付けた電子メールの宛先のドメインをホストとし、当該ホストに基づいてＡレコードのＩＰアドレスをＤＮＳサーバへ取得要求する。
【００８３】
本実施形態では、新たに受け付けた電子メールの宛先のドメインが記憶部にコネクション情報のドメイン又はホストとして記憶されていなくても、取得したＩＰアドレスが記憶部にコネクション情報として記憶されている場合には、当該ＩＰアドレスの接続を利用して当該電子メールを配送する処理を行うようにしてもよい。このようにすれば、接続を確立する処理が省略され、処理負荷を軽減できるからである。
【００８４】
なお、ＤＮＳサーバからＭＸレコードのホストを取得できた場合には、コネクション情報として既に記憶されているＩＰアドレス、当該新たに受け付けた電子メールの宛先のドメイン、ＤＮＳサーバから取得したＭＸレコードのホストを一組として記憶する。また、ＤＮＳサーバからＭＸレコードのホストを取得できず当該新たに受け付けた電子メールの宛先のドメインをホストにした場合には、コネクション情報として既に記憶されているＩＰアドレス、当該ホスト（ドメインは未設定）を一組として記憶する。
【００８５】
（６）配送処理のフロー
次に、図６Ａ、図６Ｂ、図６Ｃ、図６Ｄ、図６Ｅを用いて本実施形態の配送処理の流れについて説明する。まず、図６Ａに示すように、電子メールを受け付けると（ステップＳ１）、宛先のドメインを抽出する処理を行う（ステップＳ２）。そして、抽出されたドメインがコネクション情報のドメイン又はホストとして記憶されている否かを判断する（ステップＳ３）。
【００８６】
抽出されたドメインがコネクション情報のドメイン又はホストとして記憶されている場合には（ステップＳ３のＹ）、抽出されたドメイン（コネクション情報のドメイン又はホスト）に対応するＩＰドレスの接続を利用して電子メールを配送する処理を行う（ステップＳ４）。
【００８７】
一方、抽出されたドメインがコネクション情報のドメイン又はホストとして記憶されていない場合（ステップＳ３のＮ）、図６Ｂに示すように、ＤＮＳサーバからＭＸレコードのホストを取得する（ステップＳ５）。そして、ＤＮＳサーバからＭＸレコードのホストを１つ以上取得したか否かを判断し（ステップＳ６）、ＤＮＳサーバからＭＸレコードのホストを１つ以上取得した場合（ステップＳ６のＹ）は、ステップＳ８に進み、ＤＮＳサーバからＭＸレコードのホストを１つも取得していない場合（ステップＳ６のＮ）、抽出されたドメインをホストとする処理を行なう（ステップＳ７）。
【００８８】
そして、全てのホストをチェックするまで、ステップＳ８〜Ｓ１５までの処理を繰り返すループ１の処理を行う。
【００８９】
まず、ホストがコネクション情報のホストとして記憶されているか否かを判断する（ステップＳ９）。
【００９０】
ホストがコネクション情報のホストとして記憶されている場合（ステップＳ９のＹ）は、ステップＳ２０に進む。そして、図６Ｃに示すように、ホスト（コネクション情報のホスト）に対応するＩＰアドレスの接続を利用して電子メールを配送する処理を行う（ステ
ップＳ２０）。
【００９１】
そして、抽出されたドメインをホストとしたか否かを判断し（ステップＳ２１）、抽出されたドメインをホストとしていない場合（ステップＳ２１のＮ）、抽出されたドメインを、コネクション情報のホスト及びＩＰアドレスと一組にして記憶部に記憶する（ステップＳ２２）。一方、抽出されたドメインをホストとした場合（ステップＳ２１のＹ）、ステップＳ２３に進む。そして、ループ（ループ１）を中断して（ステップＳ２３）、処理を終了する。
【００９２】
一方、図６Ｂに示すように、ホストがコネクション情報のホストとして記憶されていない場合（ステップＳ９のＮ）は、ＤＮＳサーバから当該ホストのＡレコードのＩＰアドレスを取得する（ステップＳ１０）。そして、取得した全てのＩＰアドレスをチェックするまで、ステップＳ１１〜Ｓ１４までの処理を繰り返すループ２の処理を行う。
【００９３】
まず、取得したＩＰアドレスがコネクション情報のＩＰアドレスとして記憶されているか否かを判断する（ステップＳ１２）。取得したＩＰアドレスがコネクション情報のＩＰアドレスとして記憶されている場合（ステップＳ１２のＹ）は、ステップＳ３０に進む。そして、図６Ｄに示すように、取得したＩＰドレス（コネクション情報のＩＰアドレス）の接続を利用して電子メールを配送する処理を行う（ステップＳ３０）。
【００９４】
そして、抽出されたドメインをホストとしたか否かを判断し（ステップＳ３１）、抽出されたドメインをホストとしていない場合（ステップＳ３１のＮ）、抽出されたドメイン及び当該ホストを、コネクション情報のＩＰアドレスと一組にして記憶部に記憶する（ステップＳ３２）。一方、抽出されたドメインをホストとした場合（ステップＳ３１のＹ）、当該ホストのみ（ドメインは未設定）を、コネクション情報のＩＰアドレスと一組にして記憶部に記憶する処理を行う（ステップＳ３４）。そして、ループ（ループ１及びループ２）を中断して（ステップＳ３３）、処理を終了する。
【００９５】
一方、図６Ｂに示すように、取得したＩＰアドレスがコネクション情報のＩＰアドレスとして記憶されていない場合（ステップＳ１２のＮ）は、取得したＩＰアドレスに接続できたか否かを判断する（ステップＳ１３）。
【００９６】
取得したＩＰアドレスに接続できた場合（ステップＳ１３のＹ）、ステップＳ４０に進む。そして、図６Ｅに示すように、電子メールを配送する処理を行う（ステップＳ４０）。そして、抽出されたドメインをホストとしたか否かを判断し（ステップＳ４１）、抽出されたドメインをホストとしていない場合（ステップＳ４１のＮ）、抽出されたドメイン、当該ホスト、取得したＩＰアドレスを一組として、コネクション情報として記憶部に記憶する処理を行う（ステップＳ４２）。一方、抽出されたドメインをホストとした場合（ステップＳ４１のＹ）、当該ホスト及び取得したＩＰアドレスを一組としてコネクション情報として記憶部に記憶する（ステップＳ４４）。そして、ループ（ループ１及びループ２）を中断して（ステップＳ４３）、処理を終了する。
【００９７】
一方、図６Ｂに示すように、ＩＰアドレスに接続できない場合（ステップＳ１３のＮ）、取得した次のＩＰアドレスについて、ループ２の処理を行う。また、取得した全てのＩＰアドレスについてチェックした場合には、ループ２を終了し、ループ１の処理に戻る。つまり、取得した次のホストについて、ループ１の処理を行う。また、取得した全てのホストについてチェックした場合には、ループ１を終了し、処理を終了する。以上で、処理を終了する。
【００９８】
（７）コネクション情報削除の処理のフロー
次に、図７を用いて、コネクション情報を削除する処理の流れについて説明する。まず、接続中のＩＰドレスの接続期間が所定期間を超えたか否か（タイムアウトが到来したか否か）を判断する（ステップＳ５１）。接続中のＩＰドレスの接続期間が所定期間を超えた場合（ステップＳ５１のＹ）、接続を切断する処理を行う（ステップＳ５２）。そして、接続を切断したＩＰアドレスのコネクション情報を削除する処理を行う（ステップＳ５３）。つまり、接続を切断したＩＰアドレスと、当該ＩＰアドレスに対応するドメイン及びホストを記憶部から削除する処理を行う。以上で処理を終了する。
【００９９】
４．並列処理
本実施形態では、同一ドメイン宛の電子メールを複数受け付けた場合に、所定条件下で複数のＩＰアドレスの接続を確立し、並列して電子メールを配送するようにしてもよい。
【０１００】
例えば、「ｘｘｘ．ｃｏ．ｊｐ」をドメインとする宛先の電子メールを数万通受け付けた場合には、１つのコネクションで配送してしまうと処理時間が長くなり、処理負荷が高くなってしまう。
【０１０１】
したがって、本実施形態のメールサーバは、所定条件下で一のドメインに対して複数のＩＰアドレスの接続を確立する。例えば、配送処理を行うタイミングで、前の電子メールの配送が完了していない場合は待ち状態となってしまうので、待ち状態とならないように、新たに接続を確立し、新たに確立した接続を利用して電子メールを配送するように制御する。
【０１０２】
また、本実施形態では、新たに電子メールを受け付けた場合に、当該電子メールの宛先のドメインに対応する接続が複数保持されている場合には、配送中でない（空いている）いずれか一の接続を利用して電子メールを配送する処理を行う。
【０１０３】
５．特定のドメインに対してコネクションプールを活用する例
本実施形態では、異なるドメインの宛先の電子メールの場合は、各ドメインに応じた接続を確立し、確立した接続を保持することにより、所定期間内に再度同一ドメインの宛先の電子メールを受け付けた場合に、処理負荷を軽減して効率よく電子メールを配送できる。しかし、所定期間内に再度同一のドメインの宛先の電子メールを受け付けない場合は、保持している接続は利用されることはなく、システムリソースを消費するだけである。
【０１０４】
したがって、本実施形態では、特定のドメインについて短い時間に配送する電子メール数が多いことが予想される場合には、当該特定のドメインについてのみコネクションプールを活用するように制御してもよい。なお、特定のドメインの数は一つでもよいし複数でもよい。
【０１０５】
例えば、特定のドメイン「ｘｘｘ．ｃｏ．ｊｐ」を宛先とする電子メールの配送数が多いことが予想される場合には、特定のドメイン「ｘｘｘ．ｃｏ．ｊｐ」宛の電子メールについてコネクションプールを利用する配送を行い、その他のドメイン宛の電子メールについては、コネクションプールを利用しないで配送の度にＤＮＳサーバにＭＸレコードのホストやＡレコードのＩＰアドレスを問い合わせて接続を確立して電子メールを配送するように制御してもよい。
【０１０６】
なお、本実施形態では、特定のドメインを予め明示的に指定するようにしてもよいし、コンピュータで接続状況をもとにコネクションプールの利用頻度が所定以上期待できるドメインを動的に取得するように制御してもよい。
【０１０７】
本実施形態では、コンピュータで接続状況をもとにコネクションプールの利用頻度が所
定以上期待できるドメインを動的に取得するために以下のような方法を用いてもよい。
【０１０８】
（１）過去又は現在の接続状況（メールサーバが処理したログ等）から、コネクションプールの対象とした場合に利用頻度が所定以上と期待できるドメインを取得する。例えば、過去又は現在の接続状況を参照し、接続数が所定数以上（例えば、１００以上）あった宛先のドメインを特定のドメインとして取得する。
【０１０９】
（２）所定期間（例えば、５分間）分の電子メールの宛先のドメインを記録した配送記録を記憶部にバッファリング（記憶）し、バッファリングされた当該配送記録から、同一ドメインが複数存在するドメインを取得する。例えば、現時点から直近５分間分の電子メールの宛先のドメインを記録した配送記録を参照し、接続数が所定数以上（例えば、１０以上）ある宛先のドメインを特定のドメインとして取得する。
【０１１０】
６．ＤＮＳサーバへのＭＸレコードの問い合わせを更に低減させる例
本実施形態では、接続を切断した際にコネクション情報のドメイン、ホスト、ＩＰアドレスを記憶部から削除しないようにしてもよい。つまり、接続が保持されているか否かにかかわらず、コネクションの利用のためにコネクション情報を記憶するようにしてもよい。この場合、コネクション情報に接続ステータス（接続フラグ）を加え、接続ステータスを参照することによって接続が保持されているか否かを判断する。例えば、接続保持の場合は接続ステータス（接続フラグ）に１を設定し、接続を保持していない場合（切断した場合）は、接続ステータス（接続フラグ）に０を設定する。
【０１１１】
そして、新たに受け付けた電子メールの宛先のドメインが記憶部にコネクション情報のドメイン又はホストとして記憶されている場合に、当該電子メールの宛先のドメイン（コネクション情報のドメイン又はホスト）に対応する接続ステータスを参照し、接続ステータスが１の場合（接続が保持されている場合）には、当該電子メールの宛先のドメイン（コネクション情報のドメイン又はホスト）に対応するＩＰアドレスの接続を利用して当該電子メールを配送する処理を行う。そして、接続が保持されている間、接続ステータスを１に維持し、接続が切断されると接続ステータスを０に更新する。
【０１１２】
一方、当該電子メールの宛先のドメイン（コネクション情報のドメイン又はホスト）に対応する接続ステータスが０の場合（接続が切断されている場合）には、当該電子メールの宛先のドメイン（コネクション情報のドメイン又はホスト）に対応するＩＰアドレスの接続を確立し、接続確立後、当該接続を利用して電子メールを配送する処理を行う。そして、接続確立後、当該接続ステータスを１に更新し、接続が保持されている間、接続ステータスを１に維持し、接続が切断されると接続ステータスを０に更新する。このようにすれば、接続が切断されていても、ＤＮＳサーバへのＭＸレコードのホストの取得処理、及び、ＡレコードのＩＰアドレスの取得処理を省略することができ、処理負荷を低減することができる。
【符号の説明】
【０１１３】
１０  メールサーバ、１００  処理部、１１１  受け付け部、１１２  コネクションプール部、１１４  コネクション情報管理部、１１５  配送部、１７０  記憶部、１７１  コネクション情報、１８０  情報記憶媒体
【図１】
0006491847.tif 000002
【図２】
0006491847.tif 000003
【図３】
0006491847.tif 000004
【図４】
0006491847.tif 000005
【図５】
0006491847.tif 000006
【図６Ａ】
0006491847.tif 000007
【図６Ｂ】
0006491847.tif 000008
【図６Ｃ】
0006491847.tif 000009
【図６Ｄ】
0006491847.tif 000010
【図６Ｅ】
0006491847.tif 000011
【図７】
0006491847.tif 000012