(57)【特許請求の範囲】
【請求項１】
電子メールを中継するサーバ装置であって、
ネットワーク上に接続した上流側の中継元サーバ装置との間で、メール本文の内容を特定するメール識別情報を含み、前記メール本文の送信要否を確認するプレメールを送受信する通信部と、
前記メール本文又は前記メール識別情報を記憶する記憶部と、
前記メール識別情報から前記メール本文の送信要否を判断し、前記中継元サーバ装置に対して前記メール本文の送信要否の応答指示を出力する制御部と、
を備えることを特徴とする、サーバ装置。
【請求項２】
前記通信部は、登録された下流側の中継先サーバ装置に対して、前記プレメールを送信し、
前記制御部は、前記中継先サーバ装置から送信要否の前記応答指示を受けて、送信要求を受けた前記中継先サーバ装置に対して前記メール本文を送信させることを特徴とする、請求項１に記載のサーバ装置。
【請求項３】
前記制御部は、受信した前記プレメールのメール識別情報と前記メール本文又は前記メール識別情報とが一致するか否かを判定し、前記中継元サーバ装置に対して前記メール本文の送信要否を応答させることを特徴とする、請求項１又は２に記載のサーバ装置。
【請求項４】
前記記憶部は、登録された下流側の中継先サーバ装置のアドレス情報、前記電子メールの送信先情報の何れか又は両方を含む送信先リストを記憶し、
前記制御部は、前記中継先サーバ装置から送信要否応答を受けて前記送信先リストを生成し、又は更新することを特徴とする、請求項１又は請求項３に記載のサーバ装置。
【請求項５】
前記記憶部は、前記中継先サーバ装置のアドレス情報、前記電子メールの送信先情報の何れか又は両方を含む送信先リストを記憶し、
前記制御部は、前記中継先サーバ装置から送信要否応答を受けて前記送信先リストを生成し、又は更新することを特徴とする、請求項２に記載のサーバ装置。
【請求項６】
電子メールを中継するサーバ装置に搭載されたコンピュータに実行させるメール中継プログラムであって、
ネットワーク上に接続した上流側の中継元サーバ装置との間で、メール本文の内容を特定するメール識別情報を含み、前記メール本文の送信要否を確認するプレメールを送受信し、
前記メール本文又は前記メール識別情報を記憶部に記憶させ、
前記メール識別情報から前記メール本文の送信要否を判断して、前記中継元サーバ装置に対して前記メール本文の送信要否の応答指示を出力する
機能をコンピュータに実行させるメール中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子メールを中継するサーバ装置に関し、例えば、メーリングリストに登録された送信先に対してメールを中継するサーバ装置及びメール中継プログラムに関する。
【背景技術】
【０００２】
電子メールの中継を行うサーバ装置には、複数の送信先のアドレス情報を予め登録したメーリングリスト機能を備えるものがある。そして、電子メールの送信者は、メーリングリストアドレスを指定して電子メールを送信することで、このメーリングリストに登録された複数の相手に対し、同時に同じ内容のメールを送ることができる。
【０００３】
このようなメーリングリスト機能に関し、特許文献１には、メーリングリストを記憶したサーバ装置がクライアント装置に対してメーリングリスト情報を返信し、ユーザによりメーリングリスト情報から宛先を選択させてメール送信をすることが記載されている。
【０００４】
また、特許文献２には、受信したメールについて、既に受信しているメールと同一の発信元である場合にはメール本文が一致するか否かを検査し、一致する場合には新たに取得したメールを破棄することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１５６８２９号公報
【特許文献２】特開２０００−１１２８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、１つの電子メールアドレスを複数のメーリングリストに登録している場合がある。この場合、メールの送信者が指定したメーリングリストアドレスに対し、メールを中継する各サーバ装置に登録されたメ−ルアドレスにより、受信者は、異なる経路で中継された同一のメールを複数回受信するという問題がある。
【０００７】
メーリングリストを利用してメール送信を行う場合について、図４７を参照する。図４７は、多段のメーリングリストを経由して同一メールを複数転送するメール中継システムの構成例を示している。このメール中継システム１０００は、例えば、送信側サーバ装置Ｓ、受信側のサーバ装置Ｐ１、Ｐ２、及び中継サーバ装置Ｍ１、Ｍ２、Ｍ３を備えて構成している。送信者は、例えば、あて先情報として「ｘ＠Ｐ１」を指定したメール１００２、「ｍ１＠Ｍ１」を指定したメール１００４、「ｍ３＠Ｍ３」を指定したメール１００６を送信している。
【０００８】
ここで、上記のメール１００２に指定されたあて先情報「ｘ＠Ｐ１」は、例えば、受信サーバ「Ｐ１」を経由して送信先「ｘ」にメールを送信することを示している。また、メール１００４のあて先情報「ｍ１＠Ｍ１」は、中継サーバ「Ｍ１」のメーリングリスト「ｍ１−ｌｉｓｔ」を指定して送信することを示している。同様に、メール１００６の宛先情報「ｍ３＠Ｍ３」は、中継サーバ「Ｍ３」のメーリングリスト「ｍ３−ｌｉｓｔ」を指定して送信することを示している。
【０００９】
このように宛先情報を指定したメール１００２、１００４、１００６を送信すると、受信側「ｘ」を指定したメール１００２は、直接受信サーバＰ１に送信される。また、メーリングリストを指定したメール１００４、１００６は、指定された中継サーバ装置Ｍ１、Ｍ３に送信される。メール１００４を受信したサーバ装置Ｍ１では、指定されたメーリングリスト「ｍ１−ｌｉｓｔ」を読み出す。そして、メーリングリストに登録されている送信先アドレスを宛先情報とし、例えば、「ｍ２＠Ｍ２」を指定したメール１００８、「ｙ＠Ｐ１」を指定したメール１０１０を作成して送信する。同様に、メール１００６を受信したサーバ装置Ｍ３では、指定されたメーリングリスト「ｍ３−ｌｉｓｔ」を読み出す。そして、メーリングリストに登録されている送信先アドレスを宛先情報とし、例えば、「ｘ＠Ｐ１」を指定したメール１０１２、「ｙ＠Ｐ１」を指定したメール１０１４、「ｚ＠Ｐ２」を指定したメール１０１６を作成して送信する。
【００１０】
また、メール１００８を受信したサーバ装置Ｍ２は、例えば、指定されたメーリングリスト「ｍ２−ｌｉｓｔ」を読み出し、登録されているアドレス「ｘ＠Ｐ１」を指定したメール１０１８を作成して送信する。
【００１１】
これにより、例えば、受信側のサーバ装置Ｐ１には、送信先「ｘ」に対してメール１００２、１０１２、１０１８が送信され、また、送信先「ｙ」に対してメール１０１０、１０１４が送信される。即ち、メーリングリストを記憶した複数のサーバ装置を指定してメール送信を行った場合、受信側のサーバ装置Ｐ１では、同一内容のメールを複数回受信することになる。
【００１２】
このように中継する全てのサーバに同一のメールが転送されることは、ネットワーク資源を占有し、更に、同一のメールを多数受信する受信側のサーバに対する負荷が過大となっている。また、受信側のサーバ装置では、多数の同一メールを受信し、その全てを記憶することは膨大な記憶領域が必要となる。
【００１３】
そこで、本開示のサーバ装置及びメール中継プログラムの目的は、上記課題に鑑み、メールを中継するサーバ装置の負荷を軽減するとともに、ネットワーク資源の有効活用を図ることにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本開示のサーバ装置又はメール中継プログラムは、電子メールの中継に用いられる。ネットワーク上に接続した上流側の中継元サーバ装置との間で、メール本文の内容を特定するメール識別情報を含みメール本文の送信要否を確認するプレメールを送受信する。記憶部に前記メール本文又は前記メール識別情報を記憶している。そして、前記メール識別情報からメール本文の送信要否を判断し、前記中継元サーバ装置に対して前記メール本文の送信要否の応答指示を出力する。
【発明の効果】
【００１５】
本開示のサーバ装置又はメール中継プログラムによれば、次のいずれかの効果が得られる。
【００１６】
(1) メール本文が送信される前にプレメールが送信され、このプレメールに含まれるメールの識別情報に基づいて判断したメール本文の送信要否を上流側サーバ装置に通知することで、同一内容のメール本文を複数回受信するのを防止することができる。
【００１７】
(2) データ容量の小さいプレメールを送受信してメール本文の送信要否の確認を行うことで、メールを中継するサーバ装置内にメール本文が重複して記憶されず、転送処理も行われないので、ネットワーク資源の占有量やサーバ装置の容量負荷を軽減できる。
【００１８】
そして、本発明の他の目的、特徴及び利点は、添付図面及び各実施の形態を参照することにより、一層明確になるであろう。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態に係るサーバ装置の構成例を示す図である。
【図２】メール中継システムの構成例を示す図である。
【図３】メール及びプレメールの構成例を示す図である。
【図４】送信先リストの構成例を示す図である。
【図５】サーバ装置のメール中継処理の一例を示すフローチャートである。
【図６】サーバ装置のメール中継処理の一例を示すフローチャートである。
【図７】第２の実施の形態に係るメール中継サーバ装置の機能構成例を示す図である。
【図８】サーバ装置の構成例を示す図である。
【図９】送信メールの一例を示す図である。
【図１０】プレメールの一例を示す図である。
【図１１】プレメールの送信応答の一例を示す図である。
【図１２】メール中継システムの構成例を示す図である。
【図１３】送信先管理テーブルの構成例を示す図である。
【図１４】メール中継処理例のシーケンスを示す図である。
【図１５】サーバ装置（Ｓ）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図１６】サーバ装置（Ｓ）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図１７】サーバ装置（Ｍ１）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図１８】サーバ装置（Ｍ２）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図１９】サーバ装置（Ｐ１）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図２０】サーバ装置（Ｍ３）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図２１】サーバ装置（Ｐ２）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図２２】メール受信による処理の一例を示すフローチャートである。
【図２３】送信先リスト内のあて先情報抽出処理の一例を示すフローチャートである。
【図２４】送信先リスト内のあて先情報抽出処理の一例を示すフローチャートである。
【図２５】プレメール（Pre-mail）受信による処理の一例を示すフローチャートである。
【図２６】送信先リスト内のあて先情報抽出処理の一例を示すフローチャートである。
【図２７】プレメールの応答（Pre-ACK ）受信による処理の一例を示すフローチャートである。
【図２８】プレメールの応答（Pre-ACK ）受信による処理の一例を示すフローチャートである。
【図２９】第３の実施の形態に係るメール中継システムの構成例を示す図である。
【図３０】メール中継処理の一例を示すシーケンス図である。
【図３１】サーバ装置（Ｍ３）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図３２】サーバ装置（Ｍ３）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図３３】サーバ装置（Ｍ４）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図３４】サーバ装置（Ｐ２）における送信先管理テーブルの生成又は更新状態の一例を示す図である。
【図３５】第４の実施の形態に係るメール受信による処理の一例を示すフローチャートである。
【図３６】第４の実施の形態に係るメール受信による処理の一例を示すフローチャートである。
【図３７】プレメールの応答（Pre-ACK ）受信による処理の一例を示すフローチャートである。
【図３８】プレメールの応答（Pre-ACK ）受信による処理の一例を示すフローチャートである。
【図３９】第５の実施の形態に係る送信先管理テーブルの構成例を示す図である。
【図４０】送信先リスト内のあて先情報抽出処理の一例を示すフローチャートである。
【図４１】プレメール（Pre-mail）受信による処理の一例を示すフローチャートである。
【図４２】送信先リスト内のあて先情報抽出処理の一例を示すフローチャートである。
【図４３】第６の実施の形態に係るメール受信による処理の一例を示すフローチャートである。
【図４４】第６の実施の形態に係るメール受信による処理の一例を示すフローチャートである。
【図４５】プレメールの応答（Pre-ACK ）受信による処理の一例を示すフローチャートである。
【図４６】プレメールの応答（Pre-ACK ）受信による処理の一例を示すフローチャートである。
【図４７】同一メールを複数受信する状態例を示す図である。
【発明を実施するための形態】
【００２０】
〔第１の実施の形態〕
【００２１】
第１の実施の形態について、図１を参照する。図１は、第１の実施の形態に係るサーバ装置の構成例を示す図である。図１に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
【００２２】
このサーバ装置２は、本開示のサーバ装置の一例であって、接続した他のサーバ装置３との間で、電子メールの送受信を中継する手段である。また、サーバ装置２は、接続しているＰＣ等の電子装置に対してメールの送受信を行う手段である。電子メールの中継処理において、このサーバ装置２は、メールを中継する他のサーバ装置３との間で、メール本文の送信前に、メール本文を含まないプレメール（Pre-Mail）の送受信を行っている。このプレメールの送受信では、サーバ装置２と他のサーバ装置３との間でメールの送信先情報を通知するとともに、例えば、通信先の他のサーバ装置３がメール本文の送信を要求するか否かの確認を行う。このサーバ装置２は、例えば、通信制御部４、記憶部６、制御部８を備えている。
【００２３】
通信制御部４は、ネットワーク上で接続した他のサーバ装置３や電子機器との間で、メールや既述のプレメールを送受信する手段の一例である。そして、サーバ装置２が例えば、メールの中継経路において下流側にある場合には、この通信制御部４は、ネットワーク上に接続した上流側の他のサーバ装置３である中継元サーバ装置との間で、プレメールを送受信する。また、サーバ装置２がメール中継経路において、上流側にある場合には、通信制御部４は、例えば、送信先リストに登録された下流側の他のサーバ装置３である中継先サーバ装置に対して、プレメールを送信する。
【００２４】
このプレメールは、例えば、メールアドレス等の送信先情報やメール本文の内容を特定するメール識別情報及びメール本文の送信要否確認で構成されている。
【００２５】
記憶部６は、メール本文やメール識別情報を記憶する手段の一例である。また、この記憶部６には、例えば、メールやプレメールに設定した送信先情報やメーリングリストに登録されている送信先情報等、メール本文の送信要否を管理する送信先リストを記憶している。
【００２６】
制御部８は、メール本文の送信要否を判断するとともに、メール又はプレメールの送信先に対するメール本文の送信管理を行う手段の一例である。そして、サーバ装置２がメール中継経路の下流側の場合には、受信したプレメールに含まれるメール識別情報からメール本文の送信要否を判断し、中継元サーバ装置に対してメール本文の要否の応答指示を送信させる。また、サーバ装置２がメール中継経路の上流側の場合には、中継先サーバ装置から送信要否応答を受けて送信先リストを更新し、送信要求を受けた中継先サーバ装置に対してメール本文を送信させる。
【００２７】
次に、このサーバ装置を利用したメール中継システムの構成について図２、図３、図４を参照する。図２は、メール中継システムの構成例を示す図、図３は、メール及びプレメールの構成例を示す図、図３は、送信先リストの構成例を示す図である。図２ないし図４に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
【００２８】
図２に示すメール中継システム１０は、複数のサーバ装置２がネットワーク上で接続されている。このメール中継システム１０は、メール送信元ａから送信先ｘ、ｙ、ｚに対してメールを送信するものであって、例えば、サーバ装置２０、２２、２４を備えている。これらのサーバ装置２０、２２、２４は、図１のサーバ装置２であり、また、中継先の他のサーバ装置３を構成する。このメール中継システム１０は、例えば、メール送信元ａの電子機器、及び送信先の電子機器として、例えば、ＰＣ（Personal computer ）１２、１４、１６、１８が接続されている。
【００２９】
ＰＣ１２、１４、１６、１８は、電子メールの作成、送受信機能を備えた電子機器の一例であって、例えば、文字や数字等を入力する入力手段、メールを表示する表示手段、メールの送受信を行う通信手段を備えている。ここで、ＰＣ１２は、例えば、電子メール送信者ａ側において、メール２６を作成し、メール中継システム１０を利用して送信する電子機器の一例である。このＰＣ１２は、例えば、通信先の設定や物理的な距離情報等に基づき、メール中継システム１０を構成するサーバ装置２０に接続しており、作成されたメール２６はサーバ装置２０に送信される。また、ＰＣ１４、１６、１８は、メール受信側のｘ、ｙ、ｚに対する電子メールの受信処理及びその表示処理を行う電子機器の一例である。
【００３０】
なお、送信元ａや送信先ｘ、ｙ、ｚの電子機器はＰＣに限られず、例えば、携帯電話機や携帯情報端末機（ＰＤＡ：Personal Digital Assistant）等を利用してもよい。
【００３１】
サーバ装置２０は、送信者側のＰＣ１２に接続した送信サーバ装置を構成しており、例えば、ＰＣ１２から送信されたメール２６を直接受信して、メール中継システム１０に送る送信サーバ（Ｓ）を構成している。そして、このサーバ装置２０は、メール２６に設定された送信先情報に基づいて他の中継サーバ装置２２、２４との間でプレメールの送受信によるメール転送処理やメール本文の送信管理等を行う。
【００３２】
サーバ装置２２は、受信側のＰＣ１４、１６、１８に接続してメール２６の送信先情報に設定されたＰＣに対してメール本文を送信する受信サーバ（Ｐ）を構成している。また、このサーバ装置２２では、メール中継処理において、送信されたプレメールに含まれるメール本文の送信要否に対する応答処理を行っている。
【００３３】
サーバ装置２４は、メール中継システム１０において、サーバ装置２０、２２との間を異なる経路でメール送信する手段の一例であって、中継サーバ（Ｍ）を構成している。このサーバ装置２４は、例えば、予め１又は複数のメール送信先情報を登録したメーリングリスト２８を記憶している。従って、送信元ａは、このメーリングリスト２８を指定することで、メール２６の送信先として、全ての送信先の入力設定をする必要がなく、登録された送信先にメール２６を送信することができる。
【００３４】
このメール中継システム１０では、メールの中継経路の上流側のサーバ装置と下流側のサーバ装置との間で、メール本文の送受信を行う前にプレメールの送受信を行っている。このメール中継経路は、例えば、送信メールで指定されている送信先アドレスやサーバ装置情報等によって決まる。図２に示す送信メール２６には、例えば、送信サーバＳから受信サーバＰを示す送信先と、送信サーバＳから中継サーバＭのメーリングリスト２８を指定送信先が設定されている。そして、メーリングリスト２８には、例えば、受信サーバＰを示す送信先が設定されている。この送信先情報によりメール中継経路は、サーバ装置（Ｓ）２０からサーバ装置（Ｐ）２２、サーバ装置（Ｓ）２０からサーバ装置（Ｍ）２４、サーバ装置（Ｍ）２４からサーバ装置（Ｐ）２２が設定される。
【００３５】
送信者ａからメール２６が送信されると、例えば、メール中継経路の最上流にある送信サーバ装置（Ｓ）２０が下流側のサーバ装置（Ｐ）２２に対してプレメール３０、サーバ装置（Ｍ）２４に対してプレメール３１を送信する。また、このプレメール３１を受信したサーバ装置（Ｍ）２４は、下流側のサーバ装置（Ｐ）２２に対してプレメール３２を送信する。
【００３６】
プレメール３０、３１、３２は、各サーバ装置に対し、電子メール本文を送信する必要があるか否かの確認手段の一例であって、例えば、図３Ａに示す送信メール２６に対し、図３Ｂに示すように、メール本文３３を除いたヘッダ部分３４で構成されている。このプレメール３０、３１、３２には、例えば、送信メール２６の送信者情報や送信先情報とともに、メール本文３３の内容を一意に識別するための識別情報であるメッセージＩＤ（Message-ID）３５が含まれている。
【００３７】
プレメール３０、３１を受けたサーバ装置２２、２４は、例えば、プレメールの送信者側のサーバ装置２０に対して、メール本文３３の送信要否の回答通知（Pre-ACK)を送信する。同様に、サーバ装置２２は、サーバ装置２４に対しても送信要否の回答通知を送信する。メール本文の送信要否について、各サーバ装置２２、２４は、例えば、既に同一のメール本文３３を受信しており、記憶部６等に記憶しているか否か、又は他のサーバ装置３との間で同一のメール本文３３が送信されることが決まっているか否か等を判断する。そして、既にメール本文３３を記憶している場合や、他のサーバ装置からメール本文３３を受信することが決まっている場合には、プレメールを受信したサーバ装置は、プレメールを送信したサーバ装置に対し、メール本文３３の送信不要を示す回答通知を送信する。
【００３８】
上流側のサーバ装置２０は、送信要否の回答通知を受信すると、その回答結果に応じてメール本文３３の送信を行う。また、受信サーバでないサーバ装置（Ｍ）２４では、下流側のサーバ装置（Ｐ）２２からの送信要否結果に応じて、メール本文３３を記憶している上流側のサーバ装置（Ｓ）２０に対して送信要否の回答通知を送信する。
【００３９】
メール本文の送信要否を管理するため、例えば、各サーバ装置２０、２２、２４は、例えば図４に示す送信先リスト３６を作成している。この送信先リスト３６は、メール中継管理手段の一例であって、例えば、送信先情報エリア３７、サーバ情報エリア３８、送信要否情報エリア３９を備えている。
【００４０】
送信先情報エリア３７は、例えば、送信メール２６に設定された送信先情報や、プレメールの送信先情報、又はメーリングリストに登録された送信先情報を格納して、メールの送信先を管理する。
【００４１】
サーバ情報エリア３８は、例えば、送信先情報エリア３７に記載された送信先の機器やメーリングリスト等が記憶され、又は接続しているサーバ装置を特定するための情報を格納している。
【００４２】
送信要否情報エリア３９は、例えば、送信先情報エリア３７の送信先のサーバ装置に対して送信したプレメールに対する回答通知の結果を管理している。即ち、メール本文の送信要否の回答であって、例えば、メール本文３３の送信要求を示す場合は「要」、送信不要の場合は「否」、回答待ちの場合は「未定」等を登録して管理すればよい。
【００４３】
図２に示すメール中継システム１０において、送信メール２６には、送信先のあて先情報として、例えば「ｘ＠Ｐ」と「ｍ＠Ｍ」とが指定されている。また、メーリングリスト（ｍ）２８には、例えば、「ｘ＠Ｐ」、「ｙ＠Ｐ」、「ｚ＠Ｐ」が登録されており、メールの送信先として指定される。サーバ装置（Ｐ）２２は、例えば、サーバ装置（Ｓ）２０から受信したプレメール３０によりあて先情報「ｘ＠Ｐ」を読み出し、また、サーバ装置（Ｍ）２４から受けたプレメール３２により、あて先情報「ｘ＠Ｐ」、「ｙ＠Ｐ」、「ｚ＠Ｐ」を読み出す。
【００４４】
サーバ装置（Ｐ）２２は、例えば、サーバ装置（Ｓ）２０からメール本文３３を受信し、又は受信することを決定すると、サーバ装置（Ｓ）２０に対して送信「要」の回答通知を行い、サーバ装置（Ｍ）２４に対して送信「否」の回答通知を行う。そして、サーバ装置（Ｐ）２２は、あて先情報「ｘ＠Ｐ」が指定されたメールを受信側「ｘ」のＰＣ１４に対して中継する。また、サーバ装置（Ｓ）２２は、プレメール３２で読み出した送信先に対し、サーバ装置（Ｐ）２０から送信されたメール本文３３を送信する。この場合、サーバ装置（Ｐ）２２は、メーリングリスト（ｍ）２８に登録された送信先情報のうち、同一内容のメールを送信した、又は送信予定である送信先のあて先情報「ｘ＠Ｐ」には、重複してメールを送信しない。このメール送信先の重複判断は、例えば、サーバ装置（Ｐ）２２が記憶している送信先リスト３６を利用して管理すればよい。
【００４５】
次に、メール中継処理について、図５及び図６を参照する。図５及び図６は、サーバ装置のメール中継処理の一例を示すフローチャートである。図５及び図６に示す処理内容、処理順序等は一例であって、斯かる構成に本発明が限定されるものではない。
【００４６】
このサーバ装置のメール中継処理は、本開示のメール中継プログラムの一例であって、メール本文の送信処理に先だってプレメールの送受信によるメール本文の送信要否の確認処理を含む。図５に示す処理は、例えば、メール中継経路の下流側に配置されたサーバ装置の処理の一例であり、図６に示す処理は、例えば、メール中継経路の上流側に配置されたサーバ装置の処理の一例である。
【００４７】
サーバ装置は、図５に示すように、メール中継経路上の上流側サーバ装置からプレメールを受信すると（Ｓ１）、このプレメールからメール識別情報であるメッセージＩＤ等を抽出する（Ｓ２）。また、プレメールからメール送信する送信先情報を抽出する（Ｓ３）。下流側サーバ装置は、プレメールの受信によりメールの送信が行われたことや送信先、又は中継先情報を取得するとともに、送信されるメール本文の内容を把握する。
【００４８】
そして、サーバ装置は、取得したメール識別情報から同一のメール本文を既に記憶しているか、又は同一のメール本文が送信されることが決まっているかを判断する（Ｓ４）。即ち、既に同一のメール本文について、メール送信を行っている場合には、改めてメール本文の送信を受けないためである。また、他のサーバ装置との間で同一のメール本文の送信が決まっている場合も同様に、同一内容のメール本文が重複して送信されるのを防止する。
【００４９】
例えばメール識別情報が同一のメール本文を記憶し、又は送信予定がある場合（Ｓ４のＹＥＳ）、プレメールの送信元のサーバ装置に対し、送信要否を「否」とする応答を送信する（Ｓ５）。そして、サーバ装置は、記憶しているメール本文又は他のサーバ装置から受信したメール本文を利用して、プレメールの送信先情報に対し、メール本文を送信する（Ｓ６）。
【００５０】
また、プレメールのメール識別情報に一致するメール本文を記憶していない場合、又はメール本文の送信予定が無い場合（Ｓ４のＮＯ）、プレメールの送信元に対し、メール本文を要求する応答を送信する（Ｓ７）。そして、上流側のサーバ装置からメール本文を受信した（Ｓ８）のち、プレメールに示された送信先に対してメール本文を送信する（Ｓ６）。
【００５１】
また、上流側のサーバ装置では、図６に示すように、例えば、メールの送信処理又は中継処理の開始により、送信先リストの生成又は更新を行う（Ｓ２１）。この送信先リストは、例えば、受信したメールやプレメールの送信先情報、又はサーバ装置が記憶しているメーリングリストに登録された送信先情報を利用して生成する。
【００５２】
サーバ装置は、送信先リストに従って、下流側のサーバ装置にメールの送信通知やメール本文の送信要否を確認するプレメールを送信する（Ｓ２２）。そして、送信したプレメールに対する応答を受信すると（Ｓ２３）、その応答に含まれるメール本文の送信要否等の情報を登録して送信先リストの更新を行う（Ｓ２４）。
【００５３】
送信先リストを参照し、メール本文の送信を要求するサーバ装置があるか否かを判断し（Ｓ２５）、送信要求（Ｓ２５のＹＥＳ）に応じてメール本文を送信する（Ｓ２６）。
【００５４】
斯かる構成によれば、メール本文の送信前に受信したプレメールに含まれるメールの識別情報により、メール本文の送信要否を上流側サーバ装置に通知する。これにより、例えば、複数のメーリングリスト等に登録した同一の送信先情報に対し、同一内容のメールが異なるサーバ装置間を中継されるのを防止できる。受信者は、同一内容のメール本文を複数回受信するのを防止することができる。データ容量の小さいプレメールを送受信してメール本文の送信要否の確認を行うことで、メールを中継するサーバ装置内にメール本文が重複して記憶され、又は転送処理が行われないので、ネットワーク資源の占有量やサーバ装置の容量負荷を軽減できる。
【００５５】
〔第２の実施の形態〕
【００５６】
次に第２の実施の形態について、図７、図８、 図９、図１０及び図１１を参照する。図７及び図８は、第２の実施の形態に係るメール中継サーバ装置の機能構成例を示す図、図８は、サーバ装置の構成例を示す図である。図９は、送信メールの一例を示す図、図１０は、プレメールの一例を示す図、図１１は、プレメールの送信応答の一例を示す図である。図７〜図１１に示す構成は一例であって、本発明が斯かる構成に限定されるものではない。
【００５７】
このサーバ装置４０は、本開示のサーバ装置の一例であって、他のサーバ装置と無線又は有線などにより接続してメールの中継処理を行うものであって、既述のように、メール本文の送信前に、他のサーバ装置との間でプレメールの送受信を行う。このサーバ装置４０は、例えば、プレメール受信部４２、メール受信部４４、プレメール送信部４６、メール送信部４８、メーリングリストフォルダ５０、送信先管理フォルダ５４、中継用フォルダ５８等を備えている。
【００５８】
プレメール受信部４２は、メール中継経路の上流側のサーバ装置から送信されたプレメール（Pre-mail）の受信、又は下流側のサーバ装置から送信されたプレメールに対する応答（Pre（-mail）-ACK）の受信を行う通信手段の一例であり、例えば、通信制御部４で構成される。プレメール受信部４２は、プレメールを受信すると、例えば、メーリングリストフォルダ５０に記憶されたメーリングリスト５２を参照する。そして、メーリングリスト５２に登録された送信先情報やプレメールに指定された送信先情報について、送信先管理フォルダ５４に通知し、例えば、送信管理テーブル５６の生成やあて先情報の追加などを行う。
【００５９】
また、プレメール受信部４２は、プレメールへの応答によりメール本文の受信を行うことになった場合、メール受信部４４に対し、メール受信の準備指示として、例えばメールの格納先指示を行う。
【００６０】
メール受信部４４は、メール中継経路の上流側サーバ装置から送信されたメール（e-mail）６０を受信する手段であって、既述の通信制御部４で構成される。メール受信部４４は、例えば、プレメール受信部４２からの格納先指示に対し、受信通知を行う。そして、メール６０を受信すると、例えばメール６０内のメール本文７８を中継用フォルダ５８に格納する。また、このサーバ装置４０が送信側のＰＣに接続されている場合には、メール中継経路の最上流側のサーバ装置となり、下流側のサーバ装置に対して、送信側ＰＣから受信したメール本文の送信を行う。
【００６１】
プレメール送信部４６は、メール中継経路の下流側サーバ装置に対してプレメールを送信し、また、上流側のサーバ装置に対してメール本文の要否の応答（Pre（-mail）-ACK）を通知する通信手段の一例であって、既述の通信制御部４で構成されている。プレメール送信部４６は、メーリングリスト５２や受信したプレメール又はメール６０に設定された送信先情報に対してメール本文の送信要否やメール本文の識別情報等を送信する。そして、通信先のサーバ装置からプレメールに対する応答を受信すると、その応答内容等を送信先管理フォルダ５４の送信先管理テーブル５６に通知して、送信先管理テーブル５６の変更、更新処理を行わせる。そして、プレメール送信部４６は、例えば、他のサーバ装置からの応答に基づき、メール本文の中継を行う場合には、メール送信部４８に対し、中継指示を通知する。
【００６２】
また、プレメール送信部４６は、例えば、プレメール受信部４２との間で、プレメールやメール本文６０の送受信の処理順序等を制御する同期処理を行う。
【００６３】
メール送信部４８は、下流側サーバ装置に対してメール６０の送信を行う手段の一例であって、既述の通信制御部４で構成される。また、メール送信部４８は、メール６０に設定された送信先情報が自サーバである場合には、その送信先情報に対応した個人メールボックス６２にメール本文７８を格納する。
【００６４】
ここで、サーバ装置４０によって送受信されるメール６０は、例えば、図９に示すように、メールヘッダ７６と、メール本文７８で構成されている。メールヘッダ７６には、既述のように、メールの送信者、送信先とともにメール本文の識別情報であるメッセージＩＤが含まれる。そして、プレメール８０は、図１０に示すように、メールヘッダ７６の内、例えば、送信者、送信先、メッセージＩＤで構成される。この場合、例えば、メール６０に設定された送信先毎にプレメール８０が生成される。
【００６５】
また、送信したプレメール８０に対して、下流側サーバ装置から受信する送信応答（Pre-mail-ACK）８２には、例えば図１１に示すように、送信したプレメール８０にメール本文の送信要否８１が付加される。これにより、サーバ装置４０では、対象となるメール本文とその送信応答要否について、送信先管理テーブル５６を更新する。また、サーバ装置４０は、送信したプレメール８０の応答結果に基づいて、さらに、上流側のサーバ装置に対し、メール本文の送信要否を応答する。
【００６６】
メーリングリストフォルダ５０は、メールの送信先情報を登録したメーリングリスト５２を格納する手段であって、既述の記憶部６で構成されている。
【００６７】
送信先管理フォルダ５４は、プレメールに指定された送信先情報やメーリングリスト５２に登録された送信先情報について、例えば、メール本文７８の内容を示す識別情報毎にメール本文の送受信管理を行う手段の一例である。この送信先管理フォルダ５４は、例えば、送信先管理テーブル５６が設定されており、プレメールの送受信結果や下流側サーバ装置からのメール本文の送信要否の結果に応じて送信先管理テーブル５６の更新処理を行う。
【００６８】
中継用フォルダ５８は、受信したメール本文６０を格納する手段であって、メール受信部４４やメール送信部４８に接続されている。
【００６９】
このサーバ装置４０は、例えば、図８に示すように、ＣＰＵ（Central Processing Unit ）６３、通信制御部６４、記憶部６６で構成されている。ＣＰＵ６３は、サーバ装置４０を動作させるＯＳ（Operating System）やプレメールやメール本文の送受信を行うメール中継プログラム、送信先管理プログラム等の演算処理を行う手段であって、既述の制御部８を構成する。記憶部６６は、例えば、既述の制御プログラムを記憶し、メーリングリスト５２や送信先管理フォルダ５４、受信したメール本文６０等を格納するＲＯＭ（Read Only Memory）７０やプログラムのワークエリアを構成するＲＡＭ（Random Access Memory）７２等で構成される。
【００７０】
通信制御部６４は、サーバ装置４０をネットワーク６８に接続するのを制御する手段の一例である。サーバ装置４０が接続してメールの中継を行うネットワーク６８は、例えば、インターネット等の外部通信の他、例えば、企業内ＬＡＮやイントラネット等であってもよい。
【００７１】
なお、上記のメール中継プログラムや送信先管理プログラム、またメーリングリスト等の送信先情報は、ＲＯＭ７０に記憶されたものに限られず、例えば、磁気ディスク、フレキシブルディスク、光ディスク光磁気ディスク等のコンピュータで読出し可能な記録媒体に記憶されているものを利用してもよい。さらに、ネットワーク上にあるサーバやデータベース等からプログラム等を読み込んで利用してもよい。
【００７２】
次に、メール中継システムの構成及び送信先管理について、図１２、図１３を参照して説明する。図１２は、メール中継システムの構成例を示す図、図１３は、送信先管理テーブルの構成例を示す図である。図１２、図１３に示す構成は一例であって、本発明が斯かる構成に限定されるものではない。
【００７３】
図１２に示すメール中継システム９０は、メール送信側の電子機器「ａ」と、メール受信側の電子機器「ｘ」、「ｙ」、「ｚ」の間に送信側サーバ装置（Ｓ）、受信側サーバ装置（Ｐ１）、（Ｐ２）、中継サーバ装置（Ｍ１）、（Ｍ２）、（Ｍ３）が配置されている。この中継サーバ装置（Ｍ１）には、例えば、メーリングリスト（ｍ１−ｌｉｓｔ）９２、中継サーバ（Ｍ２）には、メーリングリスト（ｍ２−ｌｉｓｔ）９４、中継サーバ（Ｍ３）には、メーリングリスト（ｍ３−ｌｉｓｔ）９６が記憶されている。
【００７４】
このような構成において、電子機器「ａ」側は、送信先として、例えば、あて先「ｘ＠Ｐ１」、「ｍ１＠Ｍ１」及び「ｍ３＠Ｍ３」を指定したメール６０を作成して送信している。このメール６０を受信した送信側サーバ装置（Ｓ）は、例えば、送信先情報に従い、メール中継経路の下流側に向けて、メール本文の送信要否を確認するプレメールを送信する。このプレメールには、既述のように、メール本文を識別するメッセージＩＤとして、例えば「１２３４５６. ａ」が含まれている。サーバ装置（Ｓ）は、サーバ装置（Ｐ１）に対してプレメール（１）９８を送信し、サーバ装置（Ｍ１）に対してプレメール（２）１００を送信し、サーバ装置（Ｍ３）に対してプレメール（３）１０２を送信している。
【００７５】
サーバ装置（Ｍ１）は、受信したプレメール（２）１００の送信先に従い、記憶しているメーリングリスト９２を読み出し、このメーリングリスト９２に登録している送信先に対してメール本文のメッセージＩＤを含むプレメールを送信する。即ち、サーバ装置（Ｍ１）は、メーリングリスト（ｍ２−ｌｉｓｔ）９４を指定してサーバ装置（Ｍ２）に向けたプレメール（４）１０４と送信先「ｙ」を指定してサーバ装置（Ｐ１）に向けたプレメール（５）１０６を送信する。
【００７６】
サーバ装置（Ｍ２）は、プレメール（４）１０４を受信し、指定されたメーリングリスト（ｍ２−ｌｉｓｔ）９４に従い、送信先「ｘ」を指定してサーバ装置（Ｐ１）に向けてプレメール（６）１０８を送信する。
【００７７】
また、サーバ装置（Ｍ３）は、同様に、プレメール（３）１０２で指定されたメーリングリスト（ｍ３−ｌｉｓｔ）９６に従い、送信先「ｘ」及び「ｙ」を指定してサーバ装置（Ｐ１）に向けたプレメール（７）１１０と、送信先「ｚ」を指定してサーバ装置（Ｐ２）に向けたプレメール（８）１１２を送信する。
【００７８】
メール中継システム９０を構成する各サーバ装置（Ｓ）、（Ｐ１）、（Ｐ２）、（Ｍ１）、（Ｍ２）、（Ｍ３）は、例えば図１３に示すように、プレメールの送受信に関し、メールの識別情報や送信先を管理する送信先管理テーブル１２０が登録されている。送信先管理テーブル１２０には、例えば、送信対象となるメール本文を識別するメッセージＩＤエリア１２２、プレメールの受信元エリア１２４、受信要否エリア１２６、送信先リストエリア１２８で構成されている。受信元エリア１２４は、メール本文を送信する上流側のサーバ装置を特定するエリアであって、例えば、送信サーバ（Ｓ）の場合は、「最上流」が登録される。
【００７９】
受信要否エリア１２６は、この送信先管理テーブル１２０を記憶するサーバ装置について、メール本文の送信が必要か否かを登録するエリアであって、この要否結果を上流側のサーバ装置に対し、プレメールの応答として送信する。メール本文の送信要否は、例えば、このサーバ装置がプレメールを送信した下流側のサーバ装置からの応答に基づいて、決定してもよい。
【００８０】
送信先リストエリア１２８は、プレメールの送信先情報を登録しており、例えば、メール６０に指定された送信先情報や各サーバ装置が記憶するメーリングリストに登録された送信先情報が記載される。この送信先リストには、例えば、送信先やそのサーバ名、送信先からプレメール応答の結果である送信要否を記載する。
【００８１】
次に、メール中継システムによるプレメール及びメール本文の中継処理例について、図１４、図１５、図１６、図１７、図１８、図１９、 図２０及び図２１を参照して説明する。図１４は、メール中継処理例のシーケンスを示す図であり、図１５ないし図２１は、各サーバ装置における送信先管理テーブルの生成又は更新状態の一例を示している。図１４ないし図２１に示す構成及び処理手順又は処理内容は一例であって、本発明が斯かる構成に限定されるものではない。
【００８２】
図１４に示すように、送信側の電子装置「ａ」がメール６０を送信すると（Ｓ３１）、サーバ装置（Ｓ）は、このメール６０を受信し、メール６０のメッセージＩＤ３５を抽出する。そして、サーバ装置（Ｓ）は、送信先管理フォルダ５４を参照し、このメッセージＩＤに対応した送信先管理テーブル１２０のインスタンスがないことを確認する。このインスタンスは、例えば既に生成された送信管理テーブル１２０の処理データを示しており、この処理では、以前に同一のメッセージＩＤに対応する送信管理テーブル１２０があるか否かの判断を行っている。即ち、サーバ装置（Ｓ）がこのメッセージＩＤが示すメール６０を初めて受信した場合には、送信先管理テーブル１２０のインスタンスは、保持していないことになる。
【００８３】
従って、サーバ装置（Ｓ）は、送信先管理フォルダ５４内に受信したメール６０のメッセージＩＤについての送信先管理テーブルのインスタンスを生成する。この送信先管理テーブルには、例えば、図１５Ａに示すように、受信したメール６０の送信先情報を元に送信先リスト１３３を登録した送信先管理テーブル１３０を生成する。この送信先管理テーブル１３０は、送信サーバ（Ｓ）が保持するため、受信元エリア１３１には「最上流」を記録し、受信要否エリア１３２はデータなしとなる。
【００８４】
送信先のサーバ（Ｐ１）に対して送信先「ｘ＠Ｐ１」のプレメール（１）（Pre-mail#1）を送信する（Ｓ３２）。サーバ装置（Ｍ１）に対して送信先「ｍ１＠Ｍ１」のプレメール（２）（Pre-mail#2）を送信し（Ｓ３３）、また、サーバ装置（Ｍ３）に対して送信先「ｍ３＠Ｍ３」のプレメール（３）(Pre-mail#3 ）を送信する（Ｓ３４）。
【００８５】
サーバ装置（Ｐ１）は、サーバ（Ｓ）からプレメール（１）を受信すると、メッセージＩＤを抽出し、このメッセージＩＤに対応した送信先管理テーブルのインスタンスを保持しているか否かを確認する。サーバ装置（Ｐ１）は、このメッセージＩＤについて初めて受信しているので、図１９Ａに示すように、送信先管理テーブル１６０のインスタンスを生成する。そして、送信先管理テーブル１６０には、受信元エリア１６１をサーバ装置（Ｓ）とし、送信先リスト１６３にプレメール（１）に記載された送信先情報１６４を登録する。この送信先情報１６４は、例えば、送信先ｘが設定されている。送信先ｘは、サーバ装置（Ｐ１）に接続していることから、メールの送信要否エリアには、自サーバに接続していることを示す「終端」が設定されている。
【００８６】
プレメール（１）に設定された送信先「ｘ＠Ｐ１」は、サーバ装置（Ｐ１）に接続した電子装置であることから、この送信先「ｘ」に対してメール６０を送信するには、サーバ装置（Ｐ１）がメール６０を受信する必要がある。そこで、サーバ装置（Ｐ１）は、受信要否エリア１６２に「要」を登録し、プレメール（１）の受信元であるサーバ装置（Ｓ）に対して、送信要否「要」の応答（Pre-ACK#1 ）を送信する（Ｓ３５）。
【００８７】
サーバ装置（Ｓ）は、サーバ装置（Ｐ１）からの応答を受信すると、図１５Ｂに示すように、送信先リスト１３３のサーバ（Ｐ１）のエリア１３４の送信要否を「要」に更新する。そして、サーバ装置（Ｓ）が記憶しているメール本文７８をサーバ装置（Ｐ１）に対して送信する（Ｓ３６）。
【００８８】
サーバ装置（Ｐ１）は、メール本文７８を受信すると、このメール本文７８のメッセージＩＤが一致する送信先管理テーブル１６０を読み出す。そして、サーバ装置（Ｐ１）は、送信先リスト１６３のうち、送信要否が決定した送信先エリア１３４の「ｘ」について、個人メールボックス６２にメール本文７８をポストする。
【００８９】
また、サーバ装置（Ｍ１）は、サーバ装置（Ｓ）からのプレメール（２）を受信すると（Ｓ３３）、メッセージＩＤを抽出し、このメッセージＩＤに対応した送信先管理テーブルのインスタンスを保持しているか否かを確認する。サーバ装置（Ｍ１）は、このメッセージＩＤについて初めて受信しているので、図１７Ａに示すように、送信先管理テーブル１４０のインスタンスを生成する。サーバ装置（Ｍ１）は、受信元エリア１４１にサーバ装置（Ｓ）を登録し、送信先リスト１４３にプレメール（２）に記載された送信先情報に従い、メーリングリスト（ｍ１−ｌｉｓｔ）に登録された送信先情報１４４、１４６を登録する。
【００９０】
サーバ装置（Ｍ１）は、送信先情報１４６の「ｍ２＠Ｍ２」に関し、サーバ装置（Ｍ２）に対してプレメール（４）（Pre-mail#4）を送信する（Ｓ３７）。また、同様に、送信先情報１４４の「ｙ＠Ｐ１」に関し、サーバ装置（Ｐ１）に対してプレメール（５）（Pre-mail#5）を送信する（Ｓ３８）。
【００９１】
サーバ装置（Ｐ１）は、プレメール（５）を受信すると、メッセージＩＤを抽出し、このメッセージＩＤに関する送信先管理テーブルのインスタンスがあるか否かを判断する。サーバ装置（Ｐ１）は、送信先管理テーブルのインスタンスを持っており、同一のメッセージＩＤのメールを既に取得しているので、サーバ装置（Ｍ１）に対して、送信要否を「否」とする応答（Pre-ACK#5 ）を返信する（Ｓ３９）。そして、図１９Ｂに示すように、受信元エリア１６１にはサーバ装置（Ｓ）、受信要否エリア１６２には「要」を登録する。
【００９２】
サーバ装置（Ｍ１）は、サーバ装置（Ｐ１）からの応答を受信すると、図１７Ｂに示す送信先リスト１４３のサーバ装置（Ｐ１）の送信先情報エリア１４４について、送信要否を「否」に変更する。
【００９３】
サーバ装置（Ｍ２）がサーバ装置（Ｍ１）からプレメール（４）を受信すると、メッセージＩＤを抽出し、このメッセージＩＤに対応した送信先管理テーブルのインスタンスを保持しているか否かを確認する。サーバ装置（Ｍ２）は、このメッセージＩＤについて初めて受信しているので、図１８Ａに示すように、送信先管理テーブル１５０のインスタンスを生成する。そして、送信先管理テーブル１５０には、受信元エリア１５１をサーバ装置（Ｍ１）とし、送信先リスト１５３にプレメール（４）に記載された送信先情報に従い、メーリングリスト（ｍ２−ｌｉｓｔ）に登録された送信先情報１５４を登録する。そして、送信先情報１５４の「ｘ＠Ｐ１」に関し、サーバ装置（Ｐ１）に対してプレメール（６）（Pre-mail#6）を送信する（Ｓ４０）。
【００９４】
サーバ装置（Ｐ１）は、プレメール（６）を受信すると、メッセージＩＤを抽出し、このメッセージＩＤに関する送信先管理テーブルのインスタンスがあるか否かを判断する。既述のように、サーバ装置（Ｐ１）は、同一のメッセージＩＤのメールを既に取得しているので、サーバ装置（Ｍ２）に対して、送信要否を「否」とする応答（Pre-ACK#6 ）を返信する（Ｓ４１）。そして、図１９Ｃに示すように、受信元エリア１６１にはサーバ装置（Ｓ）、受信要否エリア１６２には「要」を登録する。
【００９５】
サーバ装置（Ｍ２）は、サーバ装置（Ｐ１）からの応答を受信すると、送信先リスト１５３のサーバ装置（Ｐ１）のエリア１５４について、送信要否を「否」に変更する。そして、サーバ装置（Ｍ２）は、送信先リスト１５３の全ての送信先について、送信要否が「否」となり、メール本文７８を受信する必要が無いので、受信要否エリア１５２を「否」に変更し、サーバ装置（Ｍ１）に対して送信要否「否」の応答（Pre-ACK#4 ）を返信する（Ｓ４２）。
【００９６】
サーバ装置（Ｍ１）は、サーバ装置（Ｍ２）からの応答を受信すると、図１７Ｃに示すように、送信先リスト１４３のサーバ装置（Ｍ２）の送信先情報エリア１４６について、送信要否を「否」に変更する。そして、サーバ装置（Ｍ１）は、送信先リスト１４３の全ての送信先について、送信要否が「否」となるので、受信要否エリア１４２を「否」に変更し、サーバ装置（Ｓ）に対して送信要否「否」の応答（Pre-ACK#2 ）を返信する（Ｓ４３）。
【００９７】
サーバ装置（Ｓ）は、サーバ装置（Ｍ１）からの応答を受信すると、図１６Ｃに示すように、送信先リスト１３３のサーバ装置（Ｐ１）の送信先エリア１３６について、送信要否を「否」に変更する。
【００９８】
サーバ装置（Ｍ３）は、サーバ装置（Ｓ）からのプレメール（３）を受信すると（Ｓ３４）、メッセージＩＤを抽出し、このメッセージＩＤに対応した送信先管理テーブルのインスタンスを保持しているか否かを確認する。サーバ装置（Ｍ３）は、このメッセージＩＤについて初めて受信しているので、図２０Ａに示すように、送信先管理テーブル１７０のインスタンスを生成する。サーバ装置（Ｍ３）は、受信元エリア１７１にサーバ装置（Ｓ）を登録し、送信先リスト１７３にプレメール（３）に記載された送信先情報に従い、メーリングリスト（ｍ３−ｌｉｓｔ）に登録された送信先情報１７４、１７６、１７８を登録する。
【００９９】
サーバ装置（Ｍ３）は、送信先情報１７４の「ｘ＠Ｐ１」及び送信先情報１７６の「ｙ＠Ｐ１」に関し、サーバ装置（Ｐ１）に対してプレメール（７）（Pre-mail#7）を送信する（Ｓ４４）。また、サーバ装置（Ｍ３）は、サーバ装置（Ｐ２）に対し、送信先情報１７８の「ｚ＠Ｐ２」に関し、プレメール（８）（Pre-mail#8）を送信する（Ｓ４５）。
【０１００】
サーバ装置（Ｐ１）は、プレメール（７）を受信すると、メッセージＩＤを抽出し、このメッセージＩＤに関する送信先管理テーブルのインスタンスがあるか否かを判断する。サーバ装置（Ｐ１）は、同一のメッセージＩＤのメールを既に取得しているので、サーバ装置（Ｍ３）に対して、送信要否を「否」とする応答（Pre-ACK#7 ）を返信する（Ｓ４６）。そして、図１９Ｄに示すように、受信元エリア１６１には、サーバ装置（Ｓ）、受信要否エリア１６２には「要」を維持する。
【０１０１】
サーバ装置（Ｍ３）は、サーバ装置（Ｐ１）からの応答を受信すると、図２０Ｂに示すように、送信先リスト１７３のサーバ装置（Ｐ１）の送信先情報エリア１７４、１７６について、送信要否を「否」に変更する。
【０１０２】
また、サーバ装置（Ｐ２）は、サーバ装置（Ｍ３）からプレメール（８）を受信すると、メッセージＩＤを抽出し、このメッセージＩＤに対応した送信先管理テーブルのインスタンスを保持しているか否かを確認する。サーバ装置（Ｐ２）は、このメッセージＩＤについて初めて受信しているので、図２１に示すように、送信先管理テーブル１８０のインスタンスを生成する。そして、送信先管理テーブル１８０には、受信元エリア１８１をサーバ装置（Ｍ３）とし、送信先リスト１８３にプレメール（８）に記載された送信先情報１８４を登録する。
【０１０３】
プレメール（８）に設定された送信先「ｚ＠Ｐ２」は、サーバ装置（Ｐ２）に接続した電子装置であることから、サーバ装置（Ｐ２）は、受信要否エリア１８２に「要」を登録し、プレメール（８）の受信元であるサーバ装置（Ｍ３）に対して、送信要否「要」の応答（Pre-ACK#8 ）を送信する（Ｓ４７）。
【０１０４】
サーバ装置（Ｍ３）は、サーバ装置（Ｐ２）からの応答を受信すると、図２０Ｃに示すように、送信先リスト１７３のサーバ装置（Ｐ２）の送信先情報エリア１７８について、送信要否を「要」に変更する。そして、サーバ装置（Ｍ３）は、下流側のサーバ装置（Ｐ２）に対してメール本文７８を送信する必要があるので、送信先管理テーブル１７０の受信要否エリア１７２に「要」を登録する。そして、サーバ装置（Ｍ３）は、サーバ装置（Ｐ１）に対して送信要否「要」の応答（Pre-ACK#3 ）を返信する（Ｓ４８）。
【０１０５】
サーバ装置（Ｓ）は、サーバ装置（Ｍ３）からの応答を受信すると、図１６Ｄに示すように、送信先リスト１３３のサーバ（Ｍ３）のエリア１３８の送信要否を「要」に更新する。そして、サーバ装置（Ｓ）が記憶しているメール本文７８をサーバ装置（Ｍ３）に対して送信する（Ｓ４９）。
【０１０６】
サーバ装置（Ｍ３）は、サーバ装置（Ｓ）から受信したメール本文７８をサーバ装置Ｐ２に送信する（Ｓ５０）。
【０１０７】
サーバ装置（Ｐ２）は、メール本文７８を受信すると、図２１に示すように、メッセージＩＤが一致する送信先管理テーブル１８０を読み出す。そして、サーバ装置（Ｐ２）は、送信先リスト１８３のうち、送信要否が決定した送信先情報エリア１８４の「ｚ」について、個人メールボックス６２にメール本文７８をポストする。
【０１０８】
次に、各サーバ装置におけるメール本文の受信時の処理、プレメールの受信時の処理、及びプレメールに対する応答の受信時の処理内容について、図２２、図２３、図２４、図２５、図２６、図２７及び図２８を参照する。図２２ないし図２４に示す処理は、メールを受信したサーバ装置の処理例を示し、図２５及び図２６は、プレメールを受信したサーバ装置の処理例を示し、図２７及び図２８は、プレメールに対する応答を受信したサーバ装置の処理例を示している。図２２〜図２８に示す処理手順、処理内容等は一例であって、本願発明の処理が斯かる内容に限定されるものではない。なお、図中のＡは、フローチャートの処理間を繋ぐ連結子である。
【０１０９】
このメール本文受信時の処理、プレメール受信時の処理、プレメールに対する応答の受信時の処理は、本開示のサーバ装置のメール中継プログラムの一例であって、図１２に示すメール中継システム９０の各サーバ装置（Ｓ）、（Ｍ１）、（Ｍ２）、（Ｍ３）、（Ｐ１）、（Ｐ２）において実行される。
【０１１０】
(1) メール受信時のあて先単位の管理処理（図２２）
【０１１１】
この管理処理では、例えば、メール送信時における最上流のサーバ装置（Ｓ）や、プレメールに対してメール本文の送信要否「要」の応答によりメール本文を受信した下流側のサーバ装置が実行する処理を示している。この処理では、メールのあて先単位で管理しており、メール又はプレメールの何れか早く送信した送信元を優先に処理している。
【０１１２】
メールを受信したサーバ装置は、メール６０の前段の送信元を「ｓｒｃ」に取り出す（Ｓ６１）。この「ｓｒｃ」は、例えば、メール本文に設定されているメールの送り元のサーバ装置を示すワークデータ保持する領域であって、例えば、記憶部６６に設定すればよい。また、メール６０からメッセージＩＤを「Ｍ−ＩＤ」へ取り出す（Ｓ６２）。この「Ｍ−ＩＤ」は、メール識別情報のメッセージＩＤを保管する領域であって、例えば、送信先管理フォルダ５４に設定してもよい。
【０１１３】
受信メールと同一本文を対象とするメールに対する送信先管理情報の抽出を行う（Ｓ６３）。具体的には、送信先管理テーブル５６を検出し、サーバ装置が記憶している「Ｍｅｓｓａｇｅ−ＩＤ」と、抽出した「Ｍ−ＩＤ」が一致する送信先管理テーブルのインスタンス（管理データ）があるか否かの判断を行う（Ｓ６４）。送信先管理インスタンスが無い場合（Ｓ６４のＹＥＳ）、即ち、このメッセージＩＤが示すメール６０を初めて受信した場合には、送信先管理テーブルに、このメッセージＩＤの送信先管理インスタンスを生成する（Ｓ６５）。この場合、「Ｍｅｓｓａｇｅ−ＩＤ」のエリアには、抽出した「Ｍ−ＩＤ」を登録する。そして、「受信元」エリアには、例えばメールを受信し、既述のようにメール中継経路においてプレメールによるメール本文の送信制御を行うサーバ装置であることを示す「最上流」を登録する。
【０１１４】
サーバ装置は、受信したメールに設定されたあて先情報に基づいて自サーバ装置に登録されているメーリングリストを展開し、その送信先情報を利用して「送信先リスト」を生成する（Ｓ６６）。送信先リスト内の「あて先情報」として送信先の「user」情報や「サーバ」情報の抽出を行い（Ｓ６７）、送信先「サーバ」毎にプレメール「Pre-mail」を送信する（Ｓ６８）。
【０１１５】
ここで、ステップＳ６７のあて先情報の抽出処理は、プレメールの送信準備処理の一例であって、図２３に示すように、例えば、メールのあて先のサーバ情報等の解析を含む。
【０１１６】
このあて先情報の抽出処理では、生成した「送信先リスト」を検索し、「あて先情報」と一致するレコードを取り出し（Ｓ８１）、レコードが無いかを判断する（Ｓ８２）。この処理では、例えば、送信先リストに既に送信先が登録されているか否かを判断する。レコードがある場合（Ｓ８２のＮＯ）、あて先情報の抽出処理を終了し、レコードが無い場合（Ｓ８２のＹＥＳ）、自サーバか他サーバかの判断を行う（Ｓ８３）。自サーバか他サーバかの判断では、例えば、受信したメールのあて先が、各ユーザが使用する情報処理装置名と自サーバが指定されているか否かで判断する。
【０１１７】
抽出したレコードの「サーバ」エリアの登録内容を参照し、送信先が対象となるサーバ装置とは別のサーバが指定されている場合（Ｓ８３のＮＯ）、その送信先は他サーバであると判断して、送信先リストの「送信先」に「user」情報を登録し、「サーバ」エリアに「サーバ」情報を登録する（Ｓ８４）。メール本文の「送信要否」については、対象となるサーバ装置からプレメールの応答を受けていないので、「未定」に設定する。そして、送信先「サーバ」毎の「プレメール」のあて先（送信先）にあて先情報を追記する（Ｓ８５）。
【０１１８】
また、送信先のあて先が自サーバである場合（Ｓ８３のＹＥＳ）、送信先リストの「送信者」エリアに「user」、「サーバ」エリアに「サーバ名」（自サーバ名）、「送信要否」エリアに「終端」を設定する（Ｓ８６）。この「送信要否」エリアの「終端」は、対象となっているサーバ装置よりも下流側に、メールを中継させる必要がないことを示している。
【０１１９】
この送信先リストにおけるあて先情報の抽出処理は、サーバ装置内に登録されたあて先情報の全てについて行われると終了し、ステップＳ６８へ移行し、抽出したあて先に対してプレメールが送信される。
【０１２０】
また、例えば、既述のように上流側サーバ装置との間でプレメールの送受信を行っており、あて先情報等を取得し、送信先管理インスタンスが既にある場合（Ｓ６４のＮＯ）、メール受信元の予定先とメールの送信元と一致するか否かを判断する（Ｓ６９）。具体的には、送信先管理インスタンスの「受信元」のデータが、「ｓｒｃ」に格納したメールから抽出した送信元と一致するか否かを判断する（Ｓ６９）。即ち、今回受信したメールについて、送信先管理インスタンスの適用の有無に対し、「受信元」情報の一致性を判断している。受信元が一致していない場合（Ｓ６９のＮＯ）には、ステップＳ６６に移行する。
【０１２１】
また、一致している場合（Ｓ６９のＹＥＳ）、自サーバがメール本文７８を必要としているか否かを判断する（Ｓ７０）。ここでは、例えば、対象となるサーバ装置があて先のサーバ装置である場合、又はさらに下流側のサーバ装置との間でプレメールによる送信要否を確認している場合、「受信要否」が「要」に設定されているか否かで判断する。「受信要否」が「要」でない場合（Ｓ７０のＮＯ）、ステップＳ６６に移行する。また、「受信要否」が「要」である場合（Ｓ７０のＹＥＳ）。送信先管理インスタンスをメール受信済みの設定に更新する（Ｓ７１）。具体的には、例えば、「Ｍｅｓｓａｇｅ−ＩＤ」エリアに「Ｍ−ＩＤ」を登録し、「受信元」エリアを「最上流」に設定する。
【０１２２】
そして、送信先リスト内のあて先情報について、メール本文の送信を要求する場合の「user」情報、「サーバ」情報の抽出処理に移行し（Ｓ７２）、抽出情報に基づいて送信先に指定された「サーバ」毎にメールを送信する（Ｓ７３）。
【０１２３】
ステップＳ７２の情報抽出処理は、図２４に示すように、送信先のあて先が自サーバ宛かを判断する（Ｓ９１）。具体的には、送信先リストに登録されている情報の抽出レコードの内、「サーバ」情報が自サーバを示しているかを判断する（Ｓ９１）。自サーバである場合（Ｓ９１のＹＥＳ）には、受信したメールを対応するユーザの個人メールボックス６２にポストする（Ｓ９４）。また、他サーバである場合（Ｓ９１のＮＯ）、例えば下流側の送信先サーバ装置がメール本文を要求しているか否かを判断する（Ｓ９２）。即ち、抽出した送信先リストのレコードの「送信要否」エリアが「要」となっているかを判断する。そして、「送信要求」が「要」である場合（Ｓ９２のＹＥＳ）、送信先リストの送信先「サーバ」エリア毎の「メール」のあて先にあて先情報を追記して更新する（Ｓ９３）。
【０１２４】
これらの情報抽出処理は、全てのあて先について繰り返し行い、ステップＳ７３に移行する。なお、図２２では、Ｓ７３の処理の後にＳ６６に移行しているが、これに限られず、例えば、送信先のサーバ装置に対するメール送信処理（Ｓ７３）の後、メール受信による処理を終了させてもよい。これにより、例えば、メールの中継経路にプレメールの送受信機能を備えないサーバ装置が含まれる場合、このサーバ装置からのメール受信により送信先リストのインスタンスが生成された場合でも、メール送信を可能にすることができる。
【０１２５】
（２）プレメールを受信した場合のあて先単位管理処理（図２５）
【０１２６】
この処理では、例えば、上流側のサーバ装置からプレメールを受信した場合において、先着のプレメール又は先着のメールの送信元を優先として処理している。
【０１２７】
受信したプレメール送信信号から、前段の送信元のサーバ装置情報等を「ｓｒｃ」に取り出す（Ｓ１０１）とともに、メッセージＩＤを「Ｍ−ＩＤ」に取り出す（Ｓ１０２）。
【０１２８】
受信したプレメールと同一本文を対象とするメールに対する送信先管理情報の抽出を行う（Ｓ１０３）。具体的には、ステップＳ６３（図２２）と同様に、「Ｍｅｓｓａｇｅ−ＩＤ」と、抽出した「Ｍ−ＩＤ」が一致する送信先管理テーブルのインスタンス（管理データ）があるか否かの判断を行う（Ｓ１０４）。送信先管理インスタンスが無い場合（Ｓ１０４のＹＥＳ）、送信先管理テーブルに、このメッセージＩＤの送信先管理インスタンスを生成する（Ｓ１０５）。この場合、例えば、「Ｍｅｓｓａｇｅ−ＩＤ」のエリアには抽出した「Ｍ−ＩＤ」を登録し、「受信元」エリアには、「ｓｒｃ」、「受信要否」エリアには、「未定」を登録する。そして例えば、プレメールの送信元に対して応答（Pre-ACK ）を返送する（Ｓ１０６）。この場合、送信要否が決定していないので、「未定」が設定される。
【０１２９】
サーバ装置は、メール内に設定されたあて先情報に基づいて自サーバ装置に登録されているメーリングリストを展開し、その送信先情報を利用して「送信先リスト」を生成する（Ｓ１０７）。送信先リスト内の「あて先情報」として送信先の「user」情報や「サーバ」情報の抽出を行い（Ｓ１０８）、送信先「サーバ」毎にプレメール「Pre-mail」を送信する（Ｓ１０９）。
【０１３０】
ここで、ステップＳ１０８のあて先情報の抽出処理は、図２６に示すように、例えば、メールのあて先のサーバ情報等の解析を含む。
【０１３１】
あて先情報の抽出処理（Ｓ１０８）では、生成した「送信先リスト」を検索し、「あて先情報」と一致するレコードを取り出し（Ｓ１２１）、レコードが無いかを判断する（Ｓ１２２）。この処理では、例えば、送信先リストに既に送信先が登録されているか否かを判断する。レコードがある場合（Ｓ１２２のＮＯ）、あて先情報の抽出処理を終了し、レコードが無い場合（Ｓ１２２のＹＥＳ）、自サーバか他サーバかの判断を行う（Ｓ１２３）。自サーバか他サーバかの判断では、例えば、受信したメールのあて先が、各ユーザが使用する情報処理装置名と自サーバが指定されているか否かで判断する。
【０１３２】
抽出したレコードの「サーバ」エリアの登録内容を参照し、送信先が対象となるサーバ装置とは別のサーバが指定されている場合（Ｓ１２３のＮＯ）、その送信先は他サーバであると判断して、送信先リストの「送信先」に「user」情報や「サーバ」エリアに「サーバ」情報を登録する（Ｓ１２４）。メール本文の「送信要否」については、対象となるサーバ装置からプレメールの応答を受けていないので、「未定」に設定する。そして、送信先「サーバ」毎の「プレメール」のあて先（送信先）にあて先情報を追記する（Ｓ１２５）。
【０１３３】
また、送信先のあて先が自サーバである場合（Ｓ１２３のＹＥＳ）、送信先リストの「送信者」エリアに「user」、「サーバ」エリアに「サーバ名」（自サーバ名）、「送信要否」エリアに「終端」を設定する（Ｓ１２６）。
【０１３４】
サーバ装置がメール本文を受信済みが否かを判断し（Ｓ１２７）、受信済みの場合（Ｓ１２７のＹＥＳ）、メール本文を「user」対応の個人メールボックスにポストする（Ｓ１２８）。このメール本文の受信済みの確認では、例えば、送信管理インスタンスの「受信元」が「最上流」となっているか否かで判断する。メール本文を受信していない場合（Ｓ１２７のＮＯ）、次のあて先について抽出処理を行う。
【０１３５】
この送信先リストにおけるあて先情報の抽出処理は、サーバ装置内に登録されたあて先情報の全てについて実行すると、ステップＳ１０９へ移行する。そして、抽出したあて先情報に対し、サーバ装置は、送信先のサーバ毎にプレメールを送信する（Ｓ１０９）。
【０１３６】
また、自サーバでのメール本文の受信要否が未定か否かを判断し（Ｓ１１０）、未定である場合には（Ｓ１１０のＹＥＳ）、送信先リストを検索し、「送信要否」が終端又は「要」のレコードを取り出す。（Ｓ１１１）。また、「受信要否」が未定以外である場合（Ｓ１１０のＮＯ）、例えば上流側のサーバ装置に対する応答を送信していたことを示しているので、処理を終了する。
【０１３７】
送信先リストに「終端」又は「要」を示すレコードが無いか否かを判断し（Ｓ１１２）、無い場合（Ｓ１１２のＹＥＳ）には、処理を終了する。また、レコードがある場合（Ｓ１１２のＮＯ）、「受信要否」のエリアを「要」に更新し、上流側のサーバ装置に対して応答（Pre-ACK ）を返信する（Ｓ１１３）。
【０１３８】
また、サーバ装置が送信管理インスタンスを既に持っている場合（Ｓ１０４のＮＯ）、「受信要否」エリアを参照し、自サーバがメール本文を必要としないか否かを判断する（Ｓ１１４）。メール本文の送信要否が未定の場合（Ｓ１１４のＹＥＳ）には、送信先管理インスタンスにメール受信済みを設定する（Ｓ１１５）。このとき、「受信元」を「ｓｒｃ」に設定し、「受信要否」を「未定」に設定する。また、メール本文を必要としない場合（Ｓ１１４のＮＯ）、「送信要否」を「否」とする応答（Pre-ACK ）を返信する（Ｓ１１６）。
【０１３９】
（３）プレメールに対する応答を受信した場合のあて先単位管理処理（図２７）
【０１４０】
この処理では、例えば、下流側のサーバ装置からメール本文の送信要否等を含むプレメールの応答を受信した場合を示しており、先着のプレメール又はメールの送信元を優先として処理している。
【０１４１】
サーバ装置は、プレメール応答（Pre-ACK ）を送信した下流側のサーバ装置について、メール本文の要否が「未定」となっているかを判断し（Ｓ１３１）、未定である場合（Ｓ１３１のＹＥＳ）の場合は処理を終了し、例えば、新たな応答があるまで待機する。
【０１４２】
送信要否が未定でない場合（Ｓ１３１のＮＯ）、プレメール応答から「Ｍｅｓｓａｇｅ−ＩＤ」を抽出し、「Ｍ−ＩＤ」に保持させ、また、「送信要否」情報を抽出して例えば、記憶部に設定した領域「要否」エリアに保持させる（Ｓ１３２）。サーバ装置は、プレメール応答と「Ｍｅｓｓａｇｅ−ＩＤ」が一致する送信先管理テーブルを検索し、送信先管理インスタンスを読み出す（Ｓ１３３）。対応する「Ｍｅｓｓａｇｅ−ＩＤ」の送信先管理インスタンスが無い場合（Ｓ１３４のＮＯ）には、処理を終了する。
【０１４３】
送信先管理インスタンスを読み出すと（Ｓ１３４のＹＥＳ）、図２８に示すように、プレメール応答に含まれるあて先情報について、「サーバ」情報を抽出する（Ｓ１３５）。そして、送信先リストに「送信要否」を設定する。このとき、例えば、「サーバ」エリアに対応するサーバ情報のレコードについて、「送信要否」エリアに、「要」又は「否」を設定する（Ｓ１３６）。
【０１４４】
サーバ装置は、送信先管理インスタンス内の「受信元」エリアがメール受信済みを示す「最上流」か否かを参照し、メール本文を受信済みか否かを判断する（Ｓ１３７）。メール本文が受信済みでない場合（Ｓ１３７のＮＯ）、自サーバでのメール本文の受信要否が未定か否かを判断する（Ｓ１３８）。未定である場合（Ｓ１３８のＹＥＳ）、受信したプレメール応答の送信元がメール本文を必要としているか否かを判断する（Ｓ１３９）。この判断では、例えば、ステップＳ１３６の抽出結果を参照すればよい。
【０１４５】
メール本文を必要としている場合（Ｓ１３９のＹＥＳ）、このサーバ装置は、更に上流側にあるサーバ装置に対し、メール本文の送信を要求するプレメール応答を送信する（Ｓ１４０）。このプレメール応答では、サーバ装置にプレメールを送信したサーバ装置を示す送信管理テーブルの「受信元」に対し、「送信要否」エリアを「要」に設定した応答を送信する。そして、送信管理テーブルの「受信要否」エリアには、「要」を設定する。サーバ装置は、例えば、下流側のサーバ装置から１つでもメール本文の要求があれば上流側のサーバ装置に対してメール本文の送信要求を行う。
【０１４６】
プレメール応答の送信元がメール本文の送信を要求していない場合（Ｓ１３９のＮＯ）、「送信要否」が未定となっている送信元レコードを抽出する（Ｓ１４１）。そして、該当するレコードがなく、全ての送信元がメール本文不要である場合（Ｓ１４２のＮＯ）、このサーバ装置は、さらに上流側のサーバ装置に対して「送信要否」を「否」とするプレメール応答を送信する（Ｓ１４３）。このとき、送信管理テーブルの「受信要否」エリアには、「否」を設定する。
【０１４７】
また、サーバ装置がメール本文を受信済みである場合（Ｓ１３７のＹＥＳ）、受信したプレメール応答の送信元がメール本文を要求していれば（Ｓ１４４のＹＥＳ）、メール本文をこの送信元に送信する（Ｓ１４５）。
【０１４８】
〔第２の実施の形態の特徴事項や効果〕
【０１４９】
(1) 斯かる構成によれば、メーリングリストを送信先に指定したメールの送信処理において、同一の送信先に対する重複メールの送信を防止できる。
【０１５０】
(2) メールを中継するサーバ装置について、メール本文の送信に先だって、送信先までのメール本文の要否が確定するので、各サーバ装置間に無駄にメールが送信されるのを防止できる。
【０１５１】
(3) 各サーバ装置間において、送信先情報を連携して管理するので、メールが送信されなくなるのを防止することができる。
【０１５２】
(4) 本発明は、電子メールのメーリングリストについて、同一メールを複数受信するのを回避する手段を示している。そこで、このサーバ装置では、メール本文の送信に先立ち、受信したメール又はプレメールの送信信号のメール本文の一意性判定情報に従い、送信管理テーブルのインスタンスを生成して管理する。
【０１５３】
(5) このサーバ装置は、受信したメール若しくは、プレメールの送信信号のあて先を基に、自己の保持するメーリングリストであて先情報を展開する。この送信先管理テーブルのインスタンスの送信先リストのあて先毎にメール本文の送信要否を管理する。
【０１５４】
(6) 送信先リストの各あて先から、プレメール送信応答によるメール本文の送信要否を受信し、送信先リストの送信要否を集約することにより、メール中継経路の上流方向のサーバ装置に対してプレメール送信信号により、メールの送信要否を送信する。
【０１５５】
(7) メール本文を上流側のサーバ装置から受信している場合には、送信先リストのあて先に対し、送信要否が「要」のあて先へメール本文を送信する。
【０１５６】
(8) メール受信側のＰＯＰサーバ及び受信側のＣｌｉｅｎｔにおいて、同一メールが重複して転送させるのを防止することができる。
【０１５７】
(9) 本発明のサーバ装置では、メール中継処理において、下流側の中継サーバに対してプレメールによるメール本文の要否を問い合わせ、「要」と応答した下流側のサーバ装置にのみメール本文を送信する。
【０１５８】
(10)このサーバ装置又はメール中継プログラムによれば、メール受信者のメーリングリストへの参加をメール送信者や上流の中継サーバへ教えることなく、同一内容のメールの無駄な中継を削減する。
【０１５９】
〔第３の実施の形態〕
【０１６０】
次に、第３の実施の形態について、図２９を参照する。図２９は、メール中継システムの他の構成例を示している。図２９に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
【０１６１】
図２９に示すメール中継システム２００は、メール送信者側の電子機器「ａ」と、メール受信側の電子機器「ｘ」、「ｙ」、「ｚ」、「ｗ」の間で電子メールの中継を行っている。このメール中継システム２００は、既述のように、送信側サーバ装置（Ｓ）、受信側サーバ装置（Ｐ１）、（Ｐ２）、中継サーバ装置（Ｍ１）、（Ｍ２）、（Ｍ３）を備えたメール中継システム９０（図１２）に加え、中継サーバ装置（Ｍ４）が配置されている。この中継サーバ装置（Ｍ４）は、例えば、中継サーバ装置（Ｍ３）に記憶されているメーリングリスト（ｍ３２−ｌｉｓｔ）２１０を送信先情報として登録したメーリングリスト（ｍ４−ｌｉｓｔ）２０６を記憶している。
【０１６２】
送信メール２０２には、送信先として、メーリングリスト（ｍ４−ｌｉｓｔ）２０６が指定されている。このような構成により、サーバ装置（Ｍ４）は、サーバ装置（Ｓ）からプレメール（９）（Pre-mail#9）２０４を受信し、メーリングリスト（ｍ４−ｌｉｓｔ）に従ってサーバ装置（Ｍ３）に対してプレメール（１０）（Pre-mail#10 ）２０８を送信する。
【０１６３】
サーバ装置（Ｍ３）が記憶するメーリングリスト（ｍ３２−ｌｉｓｔ）２１０には、例えば、送信先情報として、「ｚ＠Ｐ２」と「ｗ＠Ｐ２」とが含まれている。このうち、送信先「ｚ＠Ｐ２」は、メーリングリスト（ｍ３−ｌｉｓｔ）９６とメーリングリスト（ｍ３２−ｌｉｓｔ）２１０の両方に登録されている。このような構成において、サーバ装置（Ｍ３）は、メール中継経路上の下流側のサーバ装置（Ｐ２）との間でプレメール（１１）（Pre-mail#11 ）２１２の送受信を行い、中継途中でメール本文の送信要否判断を行っている。
【０１６４】
次に、メール中継システムによるプレメール及びメール本文の中継処理例について、図３０、図３１、図３２、図３３及び図３４を参照して説明する。図３０は、メール中継処理例のシーケンスを示す図であり、図３１ないし図３４は、サーバ装置（Ｍ３）、（Ｍ４）、（Ｐ２）における送信先管理テーブルの生成又は更新状態の一例を示している。図３０ないし図３４に示す構成及び処理手順又は処理内容は一例であって、本発明が斯かる構成に限定されるものではない。
【０１６５】
図３０に示すように、送信者側の電子装置「ａ」がメール２０２を送信すると（Ｓ１５１）、サーバ装置（Ｓ）は、このメール２０２を受信してメッセージＩＤを抽出する。サーバ装置（Ｓ）は、送信先管理フォルダ５４（図７）を参照し、このメッセージＩＤに対応した送信先管理テーブル５６のインスタンスがない場合は、送信管理先フォルダ５４内にこのメッセージＩＤについての送信先管理テーブルのインスタンスを生成する。
【０１６６】
そして、サーバ装置（Ｓ）は、既述のように、送信先のサーバ（Ｐ１）に対して送信先「ｘ＠Ｐ１」のプレメール（１）（Pre-mail#1）を送信する（Ｓ１５２）。このメール中継システム２００のプレメール送受信処理であるステップＳ１５２〜ステップＳ１６６は、既述のメール中継処理を示すステップＳ３２〜ステップＳ４６（図１４）と同様に行えばよく、個別の説明を省略する。
【０１６７】
また、サーバ装置（Ｍ４）は、サーバ装置（Ｓ）からのプレメール（９）を受信すると（Ｓ１６７）、メッセージＩＤを抽出し、このメッセージＩＤに対応した送信先管理テーブルのインスタンスを保持しているか否かを確認する。サーバ装置（Ｍ１）は、例えば、図３３Ａに示すように、送信先管理テーブ２４０のインスタンスを生成する。サーバ装置（Ｍ４）は、受信元エリア２４１にサーバ装置（Ｓ）を登録し、送信先リスト２４３にプレメール（９）に記載された送信先情報に従い、メーリングリスト（ｍ３２−ｌｉｓｔ）に登録された送信先情報２４４を登録する。
【０１６８】
また、このサーバ装置（Ｍ４）は、送信先情報２４４の「ｍ３＠Ｍ３」に関し、サーバ装置（Ｍ３）に対してプレメール（１０）（Pre-mail#10 ）を送信する（Ｓ１６８）。
【０１６９】
サーバ装置（Ｍ３）は、サーバ装置（Ｍ４）からのプレメール（１０）を受信すると（Ｓ１６８）、メッセージＩＤを抽出し、このメッセージＩＤに対応した送信先管理テーブルのインスタンスを保持しているか否かを確認する。サーバ装置（Ｍ３）は、サーバ装置（Ｓ）から同一のメッセージＩＤに対するプレメール（３）を既に受信しているので（Ｓ１５４）、図３１に示すように、送信先管理テーブル２２０のインスタンスを持っている。そして、サーバ装置（Ｍ３）は、図３２Ｃに示すように、受信したプレメール（１０）について、受信元エリア２２１をサーバ装置（Ｍ４）に更新する。
【０１７０】
また、サーバ装置（Ｍ３）は、プレメール（１０）の送信先情報に基づき、記憶しているメーリングリスト（ｍ３２−ｌｉｓｔ）を読み出す。このとき、例えば、送信先「ｚ＠Ｐ２」は、既にプレメール（８）を送信しているので、サーバ装置（Ｍ３）は、改めて同内容のプレメールは送信しない。そこで、サーバ装置（Ｍ３）は、サーバ装置（Ｐ２）に対し、送信先「ｗ＠Ｐ２」についてプレメール（１１）（Pre-mail#11 ）を送信する（Ｓ１６９）。また、サーバ装置（Ｍ３）は、サーバ装置（Ｐ１）からのプレメールの応答について、メール本文の送信が不要であることから、例えば、図３２Ｃに示す「受信要否」エリア２２２を「否」に更新する。そして、受信元に設定されたサーバ装置（Ｓ）に対して受信要否を「未定」とする応答（Pre-ACK#10）を送信する（Ｓ１７０）。
【０１７１】
サーバ装置（Ｍ４）は、サーバ装置（Ｍ３）からの応答を受信すると、図３３Ｂに示すように、送信先リスト２４３について、送信要否を「否」に変更する。サーバ装置（Ｍ４）は、受信要否エリア２４２を「否」に変更し、サーバ装置（Ｓ）に対して送信要否「否」の応答（Pre-ACK#9 ）を返信する（Ｓ１７１）。
【０１７２】
プレメール（８）を受信したサーバ装置（Ｐ２）は、抽出したメッセージＩＤについて、図３４Ａに示すように、送信先管理テーブル１８０を生成し、送信先リスト１８３にプレメール（８）に設定された送信先「ｚ」を登録する。この送信先「ｚ」は、サーバ装置（Ｐ２）に接続しているので、「送信要否」エリアを「終端」に設定する。サーバ装置（Ｐ２）は、メール本文のデータを持っていないので、「受信要否」エリア１８２を「要」に設定する。
【０１７３】
また、サーバ装置（Ｐ２）は、プレメール（１１）を受けると、送信先管理テーブル１８０を読み出し、送信先「ｗ」を登録する。そして、上記と同様に、「送信要否」エリア２５０に「終端」を設定する。
【０１７４】
そして、サーバ装置（Ｐ２）は、サーバ装置（Ｍ３）に対し、プレメール（８）について送信要否を「要」とする応答（Pre-ACK#8 ）を返信する（Ｓ１７２）。このプレメール（８）の応答を受信したサーバ装置（Ｍ３）は、図３２Ｄに示すように、送信先リスト２２３のサーバ装置（Ｐ２）のエリアについて、送信先「ｚ」の送信要否エリア２２８を「要」に更新する。この場合、未だ送信先「ｗ」についての送信要否が「未定」であるが、サーバ装置（Ｐ２）について１つでも送信要否を「要」に変更したので、「受信要否」エリア２２２を「要」に更新する。そして、サーバ装置（Ｍ３）は、例えば送信要否の応答を返信していないプレメール（３）を利用し、メール本文を記憶しているサーバ装置（Ｓ）に対して、送信要否を「要」とする応答（Pre-ACK#3 ）を返信する（Ｓ１７３）。
【０１７５】
また、サーバ装置（Ｐ２）は、サーバ装置（Ｍ３）に対し、プレメール（１１）について送信要否を「要」とする応答（Pre-ACK#11）を返信する（Ｓ１７４）。この応答を受信したサーバ装置（Ｍ３）は、図３２Ｅに示すように、送信先リスト２２３の送信先「ｗ」の送信要否エリア２３０を「要」に更新する。このとき、サーバ装置（Ｍ３）は、例えば、サーバ装置（Ｐ２）に対してメール本文を送信するために、既に上流側のサーバ装置（Ｓ）に対してメール本文の送信を要求しているので、改めてメール本文の送信要求は行わない。そして、プレメールの送受信によるメール本文の送信要否が確定すると、サーバ装置（Ｓ）は、中継サーバ装置（Ｍ３）に対してメール本文２０２を送信する（Ｓ１７５）。サーバ装置（Ｓ）からメール本文２０２を受信した中継サーバ装置（Ｍ３）は、送信先管理テーブルに従って、メール本文２０２を受信サーバ装置（Ｐ２）に送信する（Ｓ１７６）。
【０１７６】
斯かる構成によれば、プレメールの送受信によるメール本文の送信要否を確認し、最小限の中継経路を決定することで、同一の内容のメール本文を重複して転送させるのを防止できる。メール本文の中継経路は、受信サーバ側又はメール中継経路の途上で決定することができる。
【０１７７】
〔第４の実施の形態〕
【０１７８】
次に、第４の実施の形態について図３５〜図３８を参照する。図３５、図３６は、メール受信による処理例を示しており、図３７、 図３８は、プレメールの応答の受信による処理例を示している。なお、図中のＡ、Ｂ、Ｃは、フローチャート間を繋ぐ連結子である。
【０１７９】
(1) メール受信時のあて先単位の管理処理（図３５、図３６）
【０１８０】
この管理処理では、本開示のメール中継方法又はメール中継プログラムの一例であって、あて先単位の管理において、先着したメールについて優先処理を行うものである。そして、メール中継システムでは、プレメールの受信の有無に関わらず、メール本文を受信したサーバ装置が中継元サーバ装置として、下流側のサーバ装置に対してプレメールの送信やメール本文の送信管理を行う。この場合、例えば、メール本文を受信したサーバ装置は、メール中継経路の上流側のサーバ装置に対して、メール本文の送信を不要（送信要否「否」）とするプレメール応答を出力する。
【０１８１】
メール本文を受信したサーバ装置は、図３５に示すように、メールの送信元やメッセージＩＤ等の情報を抽出するとともに、このメールについての送信先管理テーブルの送信先管理インスタンス（処理情報）の有無を確認する（Ｓ１８１〜Ｓ１８４）。これらの処理は、例えば、既述のＳ６１〜Ｓ６４（図２２）と同様に行えばよい。
【０１８２】
受信したメールについての送信先管理インスタンスが無い場合（Ｓ１８４ＹＥＳ）には、送信先管理テーブルの生成や記憶する送信先リストの情報抽出処理、送信先リストの送信先に対するプレメール送信処理等を行う（Ｓ１８５〜Ｓ１８８）。斯かる処理ステップＳ１８５〜Ｓ１８８については、例えば、ステップＳ６５〜ステップＳ６８（図２２）及びステップＳ８１〜ステップＳ８７（図２３）と同様に行えばよい。
【０１８３】
また、抽出したメッセージＩＤに対応する送信先管理テーブルの送信先管理インスタンスが記憶されている場合（Ｓ１８４のＮＯ）、この送信先管理インスタンスにメール本文の受信済の記録がされているかを確認する（Ｓ１８９）。例えば、メール本文を受信したサーバ装置について、メールの中継元として設定されているかを確認するため、送信先管理テーブルの「受信元」エリアが「最上流」に更新されているかを判定する。
【０１８４】
送信先管理インスタンスにメール本文の受信済が記録されている場合（Ｓ１８９ＹＥＳ）には、ステップＳ１８６に移行して、送信先管理やプレメール又はメール本文の送信処理を行う。
【０１８５】
また、送信先管理インスタンスにメール本文の受信済が記録されていない場合（Ｓ１８９のＮＯ）、送信先管理インスタンスに登録されている受信元が受信したメールの送信元と一致するかを判定する（Ｓ１９０）。例えば、「受信元」エリアの情報と、「ｓｒｃ」に記憶している送信先情報とを比較する。「受信元」エリアの情報と「ｓｒｃ」の送信先情報が一致する場合（Ｓ１９０のＹＥＳ）、送信先管理インスタンスを更新し、メールの受信済を登録する（Ｓ１９１）。そして、あて先情報について、メール本文の送信を要求する場合の「user」情報、「サーバ」情報の抽出処理（Ｓ１９２）を行うとともに、送信先サーバ毎にメール本文を送信し（Ｓ１９３）、Ｓ１８６に移行する。このステップＳ１９２の処理は、例えば、ステップＳ７２（図２２、図２４）と同様に行えばよい。
【０１８６】
また、「受信元」エリアが、抽出したメールの送信元情報と一致しない場合（Ｓ１９０ＮＯ）、送信先管理インスタンスに登録されているメール本文の受信要否エリアが「要」となっているかを判定する（Ｓ１９４）。具体的には、例えば、「受信要否」エリアが「未定」か否かを判断し、「未定」でない場合（Ｓ１９４のＮＯ）、Ｓ１９１に移行する。また、「受信要否」エリアが「未定」である場合（Ｓ１９４のＹＥＳ）、送信管理インスタンスに登録された受信元へ送信要否「否」とするプレメール応答（Pre-ACK ）を返信して（Ｓ１９５）、ステップＳ１９１に移行する。例えば、受信元に設定されているサーバ装置以外のサーバ装置からメール本文を受信した場合（Ｓ１９０のＮＯ）であって、メールの「受信要否」が「要」であれば（Ｓ１９４のＹＥＳ）、同一内容のメールの再受信を防止している。
【０１８７】
(2) プレメールの応答受信による処理（図３７、図３８）
【０１８８】
この処理は、下流側のサーバ装置からメール本文の送信要否等を含むプレメールの応答に対するメール本文の送信管理の一例を示している。
【０１８９】
サーバ装置は、プレメール応答（Pre-ACK ）の送信元である下流側のサーバ装置について、メール本文の要否が「未定」となっているかを判断し（Ｓ２０１）、送信要否が未定でない場合（Ｓ２０１のＮＯ）、メールのあて先毎の送信先管理を行う。ステップＳ２０１〜ステップＳ２０６に示す処理については、例えば、既述のステップＳ１３１〜ステップＳ１３６（図２７、図２８）と同様に行えばよく、具体的な説明を省略する。
【０１９０】
サーバ装置がメール本文を受信済みか否かの判断では、既述のように、メール本文を受信したサーバ装置である場合（Ｓ２０７のＹＥＳ）、下流側のサーバ装置からの送信要否応答に応じてメール本文の送信を行う（Ｓ２１４、Ｓ２１５）。また、メールを受信していないサーバ装置（Ｓ２０７のＮＯ）では、送信先管理インスタンスの「受信要否」を確認し、プレメール応答の送信元がメール本文を必要としているかを確認する（Ｓ２０８）。例えば、「受信要否」エリアが「未定」か否かを判断し、未定となっている場合（Ｓ２０８のＹＥＳ）、プレメール応答の「送信要否」が要か否かを判断する（Ｓ２０９）。
【０１９１】
メール本文を必要としている場合（Ｓ２０９のＹＥＳ）、このサーバ装置は、更に上流側にあるサーバ装置に対し、メール本文の送信を要求するプレメール応答を送信する（Ｓ２１０）。
【０１９２】
プレメール応答の送信元がメール本文の送信を要求していない場合（Ｓ２０９のＮＯ）、「送信要否」が未定となっている送信元レコードを抽出する（Ｓ２１１）。そして、該当するレコードがなく、全ての送信元がメール本文不要である場合（Ｓ２１２のＮＯ）、このサーバ装置は、さらに上流側のサーバ装置に対して「送信要否」を「否」とするプレメール応答を送信する（Ｓ２１３）。
【０１９３】
なお、上流側サーバ装置からプレメールを受信した場合の処理例については、既述したように、例えば、図２５及び図２６に示す処理と同様に行えばよく、詳細な説明を省略する。
【０１９４】
この第４の実施の形態によっても、既述の第１乃至第３の実施の形態と同様の特徴を有し、同様の効果を奏することができる。
【０１９５】
〔第５の実施の形態〕
【０１９６】
第５の実施の形態では、各サーバ装置による送信先の管理について、送信先のサーバ単位で行っている。
【０１９７】
このメール本文の送信先管理について、図３９を参照する。図３９は、第５の実施の形態に係る送信先管理テーブルの構成例を示す図である。
【０１９８】
図３９に示す送信先管理テーブル２６０は、例えば、受信したメール本文に設定されている送信先情報に基づいて設定される。送信先管理テーブル２６０には、例えば、メール又はプレメールの受信元を示す受信元エリア２６１や、この送信先管理テーブルを持つサーバ装置がメール本文を必要としているか否かを記録する受信要否エリア２６２を備える。この受信要否エリア２６２に設定された受信要否情報は、既述のように、上流側サーバ装置に対する応答指示の出力情報となる。
【０１９９】
また、送信先管理テーブル２６０には、メール本文の送信先情報を管理する送信先リスト２６３とともに、この送信先に対応したサーバを管理する送信先サーバリスト２６４を備えている。送信先リスト２６３は、例えば、このサーバ装置が記憶しているメーリングリストに登録されている送信先情報を展開する送信先情報エリア２６６や、この送信先情報に対応したサーバ情報を展開するサーバエリア２６８で構成すればよい。また、送信先サーバリスト２６４は、送信先のサーバ毎にメール本文の送信要否を管理するものであって、例えば、サーバ情報エリア２７０、送信要否エリア２７２で構成されている。
【０２００】
この送信先管理テーブル２６０を利用したメール本文の中継処理について図４０、図４１及び図４２を参照する。
【０２０１】
(1) メール受信時のあて先管理処理（図２２、図４０）
この管理処理においてサーバ装置は、先着のプレメール又はメールの送信元を優先に処理を実行しており、例えば、送信先のサーバ装置単位で管理を行っている。
【０２０２】
メール受信時の管理処理は、例えば、既述のステップＳ６１〜ステップＳ７３（図２２）やステップＳ９１〜ステップＳ９４（図２４）と同様に行えばよい。そして、サーバ単位によるメール受信時の管理処理では、これらの処理のうち、送信先リストのあて先情報抽出処理（Ｓ６７（図２２））において、例えば、図４０に示す処理を行う。そこで、このあて先情報抽出処理では、送信先リスト２６３を検索し、メールに設定されたあて先情報と一致するレコードを取り出す（Ｓ２２１）。送信先リスト２６３にメールのあて先情報のレコードが登録されていない場合（Ｓ２２２のＹＥＳ）、送信先のあて先が自サーバか否かを判断する（Ｓ２２３）。例えば、抽出したメールのあて先（送信先）情報のレコードに設定されている「サーバ」情報が、このサーバ装置を指定しているか否かを判断する。
【０２０３】
他のサーバ装置を示している場合（Ｓ２２３のＮＯ）、送信先リスト２６３に抽出したあて先情報を登録する（ステップＳ２２４）。具体的には、例えば、「送信先」エリア２６６にあて先情報のｕｓｅｒ名、「サーバ」エリア２６８にサーバ情報を登録すればよい。そして、送信先サーバ名毎にプレメールのあて先に、あて先情報を追記する（ステップＳ２２５）。例えば、送信先リスト２６３のサーバエリア２６８に登録したサーバ名を送信先サーバリスト２６４に登録する。このサーバ名は、送信先リスト２６３に登録した送信先情報に対してサーバ毎に登録しており、例えば、複数のあて先情報が同一のサーバに接続する場合、共通のサーバ名を登録している。
【０２０４】
そして、登録したサーバ毎にメール本文の送信を要求しているか否かを管理する（ステップＳ２２６）。このサーバ装置は、送信先サーバリストに登録したサーバ毎に送信したプレメールに対する応答を管理しており、「送信要否」エリア２７２に登録された要否情報を参照する。送信要否が「要」の場合（Ｓ２２６）、あて先情報の抽出処理を完了し、ステップＳ６８に移行すればよい。また、送信要否が「要」でない場合（Ｓ２２６のＮＯ）、送信先でのメール本文の要否を「未定」に設定する（ステップＳ２２７）。そして、ステップＳ６８へ移行する。
【０２０５】
また、送信先のあて先が自サーバが指定されている場合（Ｓ２２３のＹＥＳ）、送信先リスト２６３にあて先情報を登録する（ステップＳ２２８）。この場合、このサーバ装置よりもメールの中継経路の下流側はないので、例えば、「送信要否」エリア２７２に「終端」を登録する。そして、受信済みのメール本文をあて先に指定されたｕｓｅｒ対応の個人メールボックスにポストする（Ｓ２２９）。
【０２０６】
また、送信先リスト２６３にメールのあて先情報のレコードが登録されている場合（Ｓ２２２のＮＯ）には、この送信先リストのあて先情報抽出処理を完了する。
【０２０７】
(2) プレメールを受信した場合のあて先管理処理（図４１、図４２）
【０２０８】
この管理処理においてサーバ装置は、先着のプレメール又はメールの何れか早い方の送信元を優先に処理を実行しており、例えば、送信先のサーバ装置単位で管理を行っている。
【０２０９】
受信したプレメールから送信元の情報やメッセージＩＤ、メールのあて先等の送信先情報の抽出を行う（Ｓ２３１ 〜Ｓ２３３）。そして、メッセージＩＤが一致する送信先管理テーブルのインスタンスが記憶されているか否かを判断する（Ｓ２３４）。インスタンスが無い場合（Ｓ２３４のＹＥＳ）、サーバ装置内のメーリングリスト等を利用して送信先管理インスタンスを展開し送信先リストを生成する。図４１のステップＳ２３１〜２３６の処理は、既述のステップＳ１０１〜ステップＳ１０７（図２５）と同様に行えばよい。
【０２１０】
送信先リストを生成したら、この送信先リスト内のあて先情報の抽出処理を行う（Ｓ２３７）。このあて先情報の抽出処理では、例えば図４２に示すように、送信先リスト２６３を検索し、メール本文の「あて先情報」と一致する送信先情報のレコードを抽出する（Ｓ２５１）。レコードがある場合（Ｓ２５２のＮＯ）、あて先情報の抽出処理を終了し、レコードが無い場合（Ｓ２５２のＹＥＳ）、送信先のあて先が接続するのは自サーバか否かの判断を行う（Ｓ２５３）。例えば、あて先が他サーバである場合（Ｓ２５３のＮＯ）、送信先リストの「送信先」に「ｕｓｅｒ」情報や「サーバ」エリア２６３に「サーバ」情報を登録する（Ｓ２５４）とともに、サーバ毎にプレメールのあて先情報を追記する（Ｓ２５５）。
【０２１１】
そして、例えば、送信先サーバリスト２６４を参照し、送信先がメール本文の送信を要求しているかを判断し（Ｓ２５６）、要求している場合（Ｓ２５６のＹＥＳ）には、このあて先情報抽出処理を完了してステップＳ２３８（図４１）に移行する。また、送信要否が「要」でない場合（Ｓ２５６のＮＯ）、送信先でのメール本文の要否を未定とし、例えば、送信先サーバリスト２６４の送信要否を「未定」に設定する（Ｓ２５７）。
【０２１２】
あて先情報の抽出処理を行うと、送信先のサーバ毎にプレメールを送信し（Ｓ２３８）、メール本文の受信元の予定先とプレメールの送信元が一致するか否かを判断する（Ｓ２３９）。この処理では、例えば、メールの受信元として設定されたサーバ装置（予定先）からのプレメールか否かを判断している。一致する場合（Ｓ２３９のＹＥＳ）、メール本文を必要とする送信先を抽出する（Ｓ２４０）。例えば、サーバ装置は、送信先サーバリスト２６４を検索し、送信要否エリア２７２が「終端」又「要」となるレコードを抽出する。このレコードがない場合（Ｓ２４１のＹＥＳ）、送信要否を「未定」に設定したプレメールの応答を返送する（Ｓ２４２）。
【０２１３】
また、レコードがある場合（Ｓ２４１のＮＯ）、送信要否を「要」に設定したプレメール応答を返送する（Ｓ２４３）。
【０２１４】
メール本文の受信元の予定先とプレメールの送信元が一致しない場合（Ｓ２３９のＮＯ）、送信要否を「否」とするプレメールの応答を返送する（Ｓ２４４）。また、送信先管理インスタンスがない場合（Ｓ２３４のＮＯ）、自サーバがメール本文を必要としているか否かを判断する（Ｓ２４５）。そして、必要としていない場合（Ｓ２４５のＹＥＳ）、送信先管理インスタンスにメール受信済を設定するとともに、受信要否エリアを「否」に設定する（Ｓ２４６）。
【０２１５】
斯かる構成により、上記実施の形態と同様の効果を得ることができる。また、送信先の情報を接続するサーバ装置単位で管理することで、メール本文に設定された送信先情報について、下流側のサーバ装置の送信要否の原子性を維持することができる。
【０２１６】
〔第６の実施の形態〕
【０２１７】
第６の実施の形態では、メール中継システムを構成する各サーバ装置は、送信先についてサーバ毎に管理する送信先管理テーブル２６０（図３９）を利用している。そして、先行するプレメールの受信の有無に関わらず、メールを受信したサーバ装置を最上流のサーバ装置として、下流側サーバ装置へのメール本文の送信管理を行っている。
【０２１８】
このメール本文の中継処理について、 図４３〜図４６を参照する。
【０２１９】
(1) メール受信時の管理処理（図４３、図４４）
【０２２０】
この管理処理は、本開示のメール中継方法又はメール中継プログラムの一例であって、サーバ装置は、送信先のサーバ装置単位でメール本文の送信管理を行っており、先着のメールの送信先を優先に処理を実行している。
【０２２１】
メール本文を受信したサーバ装置は、図４３に示すように、メールの送信元やメッセージＩＤ等の情報を抽出するとともに、このメールについての送信先管理テーブルの送信先管理インスタンス（処理情報）の有無を確認する（Ｓ２７１〜Ｓ２７４）。これらの処理は、例えば、既述のＳ６１〜Ｓ６４（図２２）と同様に行えばよい。
【０２２２】
受信したメールについての送信先管理インスタンスが無い場合（Ｓ２７４のＹＥＳ）、送信先管理テーブルの生成や記憶する送信先リストの情報抽出処理、送信先リストの送信先に対するプレメール送信処理等を行う（Ｓ２７５〜Ｓ２７８）。斯かる処理ステップＳ２７５〜ステップＳ２７８については、例えば、ステップＳ６５〜ステップＳ６８（図２２）及びステップＳ８１〜ステップＳ８７（図２３）と同様に行えばよい。
【０２２３】
また、抽出したメッセージＩＤに対応する送信先管理テーブルの送信先管理インスタンスが記憶されている場合（Ｓ２７４のＮＯ）、既にメール本文を受信済みか否かを確認する（Ｓ２７９）。この処理では、例えば、送信先管理インスタンスの「受信元」エリアに「最上流」が設定されているかを確認する。
【０２２４】
メール受信済みの場合（Ｓ２７９ＹＥＳ）には、ステップＳ２７６に移行して、送信先管理やプレメール又はメール本文の送信処理を行う。
【０２２５】
また、メール受信済みでない場合（Ｓ２７９のＮＯ）、送信先管理インスタンスに登録されている受信元が、受信したメールの送信元と一致するかを判定する（Ｓ２８０）。例えば、「受信元」エリアの情報と、「ｓｒｃ」に記憶している送信先情報とを比較する。「受信元」エリアの情報と「ｓｒｃ」の送信先情報が一致する場合（Ｓ２８０のＹＥＳ）、送信先管理インスタンスを更新し、メールの受信済を登録する（Ｓ２８１）。そして、送信先リストについてのあて先情報について、メール本文の送信を要求する場合の「user」情報、「サーバ」情報の抽出処理を行い（Ｓ２８２）、送信先サーバ毎にメール本文を送信して（Ｓ２８３）、Ｓ２７６に移行する。このステップＳ２８２の抽出処理は、例えば、ステップＳ７２（図２２、図２４）と同様に行えばよい。
【０２２６】
また、「受信元」エリアが抽出したメールの送信先情報と一致しない場合（Ｓ２８０ＮＯ）、送信先管理インスタンスに登録されているメール本文の受信要否が「未定」か否かを判定する（Ｓ２８４）。「未定」でない場合（Ｓ２８４のＮＯ）、Ｓ２８１に移行する。また、「受信要否」エリアが「未定」である場合（Ｓ２８４のＹＥＳ）、送信管理インスタンスに登録された受信元へ送信要否「否」とするプレメール応答（Pre-ACK ）を返信して（Ｓ２８５）、ステップＳ２８１に移行する。
【０２２７】
(2) プレメールの応答受信による処理（図４５、図４６）
【０２２８】
この処理は、下流側のサーバ装置からプレメールの応答を受信した場合のあて先サーバ毎の管理において、先着メールの送信元を優先処理を行う場合の処理の一例を示している。
【０２２９】
サーバ装置は、プレメール応答（Pre-ACK ）についてメール本文の要否が「未定」となっているかを判断し（Ｓ２９１）、送信要否が未定でない場合（Ｓ２９１のＮＯ）、サーバ装置毎にメール本文の送信先管理を行う。ステップＳ２９１〜ステップＳ２９６に示す処理については、例えば、既述のステップＳ１３１〜ステップＳ１３６（図２７、図２８）と同様に行えばよく、具体的な説明を省略する。
【０２３０】
サーバ装置がメール本文を受信済みか否かの判断では、既述のように、メール本文を受信したサーバ装置である場合（Ｓ２９７のＹＥＳ）、下流側のサーバ装置からの送信要否応答に応じてメール本文の送信を行う（Ｓ３０４、Ｓ３０５）。また、メールを受信していないサーバ装置（Ｓ２９７のＮＯ）では、送信先管理インスタンスの「受信要否」を確認し、自サーバでのメール本文の受信要否は未定かを確認する（Ｓ２９８）。例えば、「受信要否」エリアが「未定」か否かを判断し、未定となっている場合（Ｓ２９８のＹＥＳ）、プレメール応答の「送信要否」が要か否かを判断する（Ｓ２９９）。
【０２３１】
メール本文を必要としている場合（Ｓ２９９のＹＥＳ）、このサーバ装置は、更に上流側にあるサーバ装置に対し、メール本文の送信を要求するプレメール応答を送信する（Ｓ３００）。
【０２３２】
プレメール応答の送信元がメール本文の送信を要求していない場合（Ｓ２９９のＮＯ）、「送信要否」が未定となっている送信元レコードを抽出する（Ｓ３０１）。そして、該当するレコードがなく、全ての送信元がメール本文不要である場合（Ｓ３０２のＮＯ）、このサーバ装置は、さらに上流側のサーバ装置に対して「送信要否」を「否」とするプレメール応答を送信する（Ｓ３０３）。
【０２３３】
なお、上流側サーバ装置からプレメールを受信した場合の処理例については、既述したように、例えば、図２７及び図２８に示す処理と同様に行えばよく、詳細な説明を省略する。
【０２３４】
斯かる構成によれば、既述の第４の実施形態と同様の効果を得られるとともに、プレメールやメール本文の送信管理をサーバ装置単位で行うので、メール本文に設定された送信先情報や下流側のサーバ装置の送信要否の情報を維持することができる。
【０２３５】
次に、以上述べた実施例を含む実施の形態に関し、更に以下の付記を開示する。以下の付記に本発明が限定されるものではない。
【０２３６】
（付記１）電子メールを中継するサーバ装置であって、
ネットワーク上に接続した上流側の中継元サーバ装置との間で、メール本文の内容を特定するメール識別情報を含み、前記メール本文の送信要否を確認するプレメールを送受信する通信部と、
前記メール本文又は前記メール識別情報を記憶する記憶部と、
前記メール識別情報から前記メール本文の送信要否を判断し、前記中継元サーバ装置に対して前記メール本文の送信要否の応答指示を出力する制御部と、
を備えることを特徴とする、サーバ装置。
【０２３７】
（付記２）前記通信部は、登録された下流側の中継先サーバ装置に対して、前記プレメールを送信し、
前記制御部は、前記中継先サーバ装置から送信要否の前記応答指示を受けて、送信要求を受けた前記中継先サーバ装置に対して前記メール本文を送信させることを特徴とする、付記１に記載のサーバ装置。
【０２３８】
（付記３）前記制御部は、受信した前記プレメールのメール識別情報と前記メール本文又は前記メール識別情報とが一致するか否かを判定し、前記中継元サーバ装置に対して前記メール本文の送信要否を応答させることを特徴とする、付記１又は２に記載のサーバ装置。
【０２３９】
（付記４）前記記憶部は、前記中継先サーバ装置のアドレス情報、前記電子メールの送信先情報の何れか又は両方を含む送信先リストを記憶し、
前記制御部は、前記中継先サーバ装置から送信要否応答を受けて前記送信先リストを生成し、又は更新することを特徴とする、付記１ないし付記３に記載のサーバ装置。
【０２４０】
（付記５）前記制御部は、前記電子メールの送信先情報及び１又は複数の前記中継先サーバ装置のアドレス情報が登録されたメーリングリストに基づいて前記送信リストを生成することを特徴とする、付記４に記載のサーバ装置。
【０２４１】
（付記６）前記制御部は、受信した前記プレメール又は前記メール本文の送信先情報に基づき、自サーバ装置がメールの送信先サーバである場合には、受信したメール本文を前記メールの送信先の通信端末装置に対して送信することを特徴とする、付記１ないし付記６の何れかに記載のサーバ装置。
【０２４２】
（付記７）電子メールを中継するサーバ装置に搭載されたコンピュータに実行させるメール中継プログラムであって、
ネットワーク上に接続した上流側の中継元サーバ装置との間で、メール本文の内容を特定するメール識別情報を含み、前記メール本文の送信要否を確認するプレメールを送受信し、
前記メール本文又は前記メール識別情報を記憶部に記憶させ、
前記メール識別情報から前記メール本文の送信要否を判断して、前記中継元サーバ装置に対して前記メール本文の送信要否の応答指示を出力する、
機能をコンピュータに実行させるメール中継プログラム。
【０２４３】
（付記８）登録された下流側の中継先サーバ装置に対して、前記プレメールを送信させ、
前記中継先サーバ装置から送信要否の前記応答指示を受けて、送信要求を受けた前記中継先サーバ装置に対して前記メール本文を送信させる機能をコンピュータに実行させる、付記７に記載のメール中継プログラム。
【０２４４】
（付記９）受信した前記プレメールのメール識別情報と前記メール本文又は前記メール識別情報とが一致するか否かを判定し、前記中継元サーバ装置に対して前記メール本文の送信要否を応答させる機能をコンピュータに実行させる、付記７又は８に記載のメール中継プログラム。
【０２４５】
（付記１０）前記中継先サーバ装置のアドレス情報、前記電子メールの送信先情報の何れか又は両方を含む送信先リストを記憶部に記憶させ、
前記中継先サーバ装置から送信要否応答を受けて前記送信先リストを生成し、又は更新する機能をコンピュータに実行させる、付記７ないし付記９に記載のメール中継プログラム。
【０２４６】
以上説明したように、サーバ装置及びメール中継プログラムの好ましい実施の形態等について説明したが、本発明は、上記記載に限定されるものではなく、特許請求の範囲に記載され、又は発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
【符号の説明】
【０２４７】
２、２０、２２、２４、４０  サーバ装置
３  他のサーバ装置
４  通信制御部
６  記憶部
８  制御部
１０、９０、２００  メール中継システム
１２、１４、１６、１８  ＰＣ
２６、６０  メール
２８、５２  メーリングリスト
３０、３１、３２、８０、９８〜１１２、２０４、２０８、２１２  プレメール
３３、７８  メール本文
３４  ヘッダ部分
３５  メッセージＩＤ
３６、１３３、１４３、１５３、１６３、１７３、１８３、２４３、２６３  送信先リスト
３７、１４４、１４６、１５４、１６４、１７４、１７６、１７８、１８４、２４４、２６６  送信先情報エリア
３８  サーバ情報エリア
３９、２２８、２３０、２５０、２７２  送信要否情報エリア
４２  プレメール受信部
４４  メール受信部
４６  プレメール送信部
４８  メール送信部
５０  メーリングリストフォルダ
５４  送信先管理フォルダ
５６、１２０、１３０、１４０、１５０、１６０、１７０、１８０、２２０、２４０、２６０  送信先管理テーブル
５８  中継用フォルダ
６２  個人メールボックス
８１  送信要否
８２  送信応答
Ｓ  送信側サーバ装置
Ｐ１、Ｐ２  受信側サーバ装置
Ｍ１、Ｍ２、Ｍ３  中継サーバ装置
９２、９４、９６、２０６、２１０  メーリングリスト
１２２  メッセージＩＤエリア
１２４  プレメールの受信元エリア
１２６、１３２  受信要否エリア
１２８  送信先リストエリア
１３４、１３６、１３８  送信先エリア
１４１、１５１、１６１、１７１、１８１、２２１、２４１  受信元エリア
１２６、１３２、１４２、１５２、１６２、１７２、１８２、２２２、２４２  受信要否エリア
２６４  送信先サーバリスト
２６８  サーバエリア
２７０  サーバ情報エリア
【図１】
0005768573.tif 000002
【図２】
0005768573.tif 000003
【図３】
0005768573.tif 000004
【図４】
0005768573.tif 000005
【図５】
0005768573.tif 000006
【図６】
0005768573.tif 000007
【図７】
0005768573.tif 000008
【図８】
0005768573.tif 000009
【図９】
0005768573.tif 000010
【図１０】
0005768573.tif 000011
【図１１】
0005768573.tif 000012
【図１２】
0005768573.tif 000013
【図１３】
0005768573.tif 000014
【図１４】
0005768573.tif 000015
【図１５】
0005768573.tif 000016
【図１６】
0005768573.tif 000017
【図１７】
0005768573.tif 000018
【図１８】
0005768573.tif 000019
【図１９】
0005768573.tif 000020
【図２０】
0005768573.tif 000021
【図２１】
0005768573.tif 000022
【図２２】
0005768573.tif 000023
【図２３】
0005768573.tif 000024
【図２４】
0005768573.tif 000025
【図２５】
0005768573.tif 000026
【図２６】
0005768573.tif 000027
【図２７】
0005768573.tif 000028
【図２８】
0005768573.tif 000029
【図２９】
0005768573.tif 000030
【図３０】
0005768573.tif 000031
【図３１】
0005768573.tif 000032
【図３２】
0005768573.tif 000033
【図３３】
0005768573.tif 000034
【図３４】
0005768573.tif 000035
【図３５】
0005768573.tif 000036
【図３６】
0005768573.tif 000037
【図３７】
0005768573.tif 000038
【図３８】
0005768573.tif 000039
【図３９】
0005768573.tif 000040
【図４０】
0005768573.tif 000041
【図４１】
0005768573.tif 000042
【図４２】
0005768573.tif 000043
【図４３】
0005768573.tif 000044
【図４４】
0005768573.tif 000045
【図４５】
0005768573.tif 000046
【図４６】
0005768573.tif 000047
【図４７】
0005768573.tif 000048