"受信した電子メールを格納領域に格納し、格納された電子メールを送信する処理を行うサーバのためのプログラムであって、電子メールを受信する処理を行う受信部と、当該サーバ管理下のユーザを宛先とする電子メールを受信した場合に、当該電子メールを前記格納領域に格納する格納処理部と、端末から電子メールの受信要求を受け付けた場合に、電子メールを前記格納領域から読み出し、読み出された当該電子メールを当該端末に送信する処理を行う送信部として、コンピュータを機能させ、前記格納処理部が、受信した電子メールに含まれる特定データが、前記格納領域に既に格納された他の電子メールに含まれる場合には、当該特定データを特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行い、前記送信部が、前記格納領域から読み出した電子メールに前記特定データ参照情報が含まれる場合には、前記特定データ参照情報を前記特定データに書き戻し、書き戻された電子メールを前記端末に送信する処理を行うことを特徴とするプログラム。請求項1において、前記格納処理部が、受信した電子メールに含まれる添付ファイルデータを前記特定データとし、当該添付ファイルデータが、前記格納領域に既に格納された他の電子メールの添付ファイルデータ又は本文と同じ場合には、当該受信した電子メールに含まれる添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行うことを特徴とするプログラム。請求項2において、前記格納処理部が、受信した電子メールに複数の添付ファイルデータを含む場合には、添付ファイルデータ毎に、添付ファイルデータが前記格納領域に既に格納された他の電子メールの添付ファイルデータ又は本文と同じか否かを判断し、添付ファイルデータが前記格納領域に既に格納された他の電子メールの添付ファイルデータ又は本文と同じ場合には、当該添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行うことを特徴とするプログラム。請求項1~3のいずれかにおいて、前記格納処理部が、受信した電子メールに含まれる本文を前記特定データとし、当該本文が、前記格納領域に既に格納された他の電子メールの本文又は添付ファイルデータと同じ場合には、当該受信した電子メールに含まれる本文を特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行うことを特徴とするプログラム。請求項1~4のいずれかにおいて、前記格納領域は、当該サーバが管理する各ユーザのメールボックスと、特定領域とを含み、前記格納処理部が、複数の宛先が指定された電子メールを受信した場合には、各宛先に対応する各ユーザのメールボックスに、受信した電子メールに対応する電子メール参照情報を格納すると共に、一の当該電子メールを特定領域に格納する処理を行い、前記送信部が、受信要求を受け付けたユーザのメールボックスに格納された電子メール参照情報に基づき、電子メールを前記特定領域から読み出し、読み出された電子メールを当該端末に送信する処理を行うことを特徴とするプログラム。請求項1~5のいずれかにおいて、前記格納領域に格納された電子メールが参照されているか否かを判断する参照判断部と、参照されていないと判断される電子メールを、前記格納領域から削除する処理を行う削除部として、コンピュータを更に機能させることを特徴とするプログラム。しかし、従来のメールサーバは、サーバ管理下のユーザを宛先とする電子メールを受信した場合に当該電子メールを格納する際、無駄に格納領域を使用してしまうことがあった。例えば、添付ファイルを含む電子メールを受信し、その後、同一内容の添付ファイルを含む別の電子メールを受信した場合には、同一内容の添付ファイルであっても各電子メールを個別に格納領域に格納していたので、格納領域を無駄に使用してしまい、結果的に格納領域の使用量が増加してしまうという問題があった。特に、近年では、画像データや音声データ等のファイルが添付されることが多く、数十~数百メガバイトの添付ファイルを含む電子メールの送受信が行われており、電子メールを格納するための格納領域を節約することが期待されている。本発明は、上述した課題に鑑みたものであり、サーバ管理下のユーザを宛先とする電子メールを格納するための格納領域の使用量を節約することが可能なサーバのためのプログラムを提供することにある。1本発明は、受信した電子メールを格納領域に格納し、格納された電子メールを送信する処理を行うサーバのためのプログラムであって、電子メールを受信する処理を行う受信部と、当該サーバ管理下のユーザを宛先とする電子メールを受信した場合に、当該電子メールを前記格納領域に格納する格納処理部と、端末から電子メールの受信要求を受け付けた場合に、電子メールを前記格納領域から読み出し、読み出された当該電子メールを当該端末に送信する処理を行う送信部として、コンピュータを機能させ、前記格納処理部が、受信した電子メールに含まれる特定データが、前記格納領域に既に格納された他の電子メールに含まれる場合には、当該特定データを特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行い、前記送信部が、前記格納領域から読み出した電子メールに前記特定データ参照情報が含まれる場合には、前記特定データ参照情報を前記特定データに書き戻し、書き戻された電子メールを前記端末に送信する処理を行うプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成するサーバに関係する。本発明は、受信した電子メールに含まれる特定データが、格納領域に既に格納された他の電子メールに含まれる場合には、当該特定データを特定データ参照情報に書き換え、書き換え後の電子メールを格納領域に格納する処理を行うので、従来よりも格納領域を使用する容量を節約することができる。また、本発明は、格納領域から読み出した電子メールに特定データ参照情報が含まれる場合には、特定データ参照情報を前記特定データに書き戻し、書き戻された電子メールを前記端末に送信する処理を行うので、元の電子メールの内容が紛失されることなく送信することができる。2また、本発明のプログラムは、前記格納処理部が、受信した電子メールに含まれる添付ファイルデータを前記特定データとし、当該添付ファイルデータが、前記格納領域に既に格納された他の電子メールの添付ファイルデータ又は本文と同じ場合には、当該受信した電子メールに含まれる添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行うようにしてもよい。本発明は、格納領域に、添付ファイルデータを重複して格納することを回避することができ、従来よりも格納領域を使用する容量を節約することができる。本発明は、例えば、音声データや画像データなどの、容量の多いファイルが添付された電子メールを格納領域に格納する際に、格納領域の使用量を従来よりも格段に節約することができる。3また、本発明のプログラムは、前記格納処理部が、受信した電子メールに複数の添付ファイルデータを含む場合には、添付ファイルデータ毎に、添付ファイルデータが前記格納領域に既に格納された他の電子メールの添付ファイルデータ又は本文と同じか否かを判断し、添付ファイルデータが前記格納領域に既に格納された他の電子メールの添付ファイルデータ又は本文と同じ場合には、当該添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行うようにしてもよい。本発明は、電子メールに複数の添付ファイルデータを含んでいても、格納領域に、添付ファイルデータを重複して格納することを回避することができ、従来よりも格納領域を使用する容量を節約することができる。4また、本発明のプログラムは、前記格納処理部が、受信した電子メールに含まれる本文を前記特定データとし、当該本文が、前記格納領域に既に格納された他の電子メールの本文又は添付ファイルデータと同じ場合には、当該受信した電子メールに含まれる本文を特定データ参照情報に書き換え、書き換え後の電子メールを前記格納領域に格納する処理を行うようにしてもよい。本発明は、格納領域に、受信した電子メールの本文を重複して格納することを回避することができ、従来よりも格納領域を使用する容量を節約することができる。5また、本発明のプログラムは、前記格納領域は、当該サーバが管理する各ユーザのメールボックスと、特定領域とを含み、前記格納処理部が、複数の宛先が指定された電子メールを受信した場合には、各宛先に対応する各ユーザのメールボックスに、受信した電子メールに対応する電子メール参照情報を格納すると共に、一の当該電子メールを特定領域に格納する処理を行い、前記送信部が、受信要求を受け付けたユーザのメールボックスに格納された電子メール参照情報に基づき、電子メールを前記特定領域から読み出し、読み出された電子メールを当該端末に送信する処理を行うようにしてもよい。本発明は、複数の宛先が指定された電子メールを受信した場合には、各宛先に対応する各ユーザのメールボックスに、受信した電子メールに対応する電子メール参照情報を格納すると共に、当該電子メールを特定領域に格納する処理を行うので、従来よりも格納領域を使用する容量を節約することができる。6また、本発明のプログラムは、前記格納領域に格納された電子メールが参照されているか否かを判断する参照判断部と、参照されていないと判断される電子メールを、前記格納領域から削除する処理を行う削除部として、コンピュータを更に機能させるようにしてもよい。本発明は、参照されていないと判断される電子メールを格納領域から削除する処理を行うので、保存する必要性のない電子メールを削除することができ、限られた格納領域を有効に利用することができる。以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。1.メールシステム図1は、本実施形態のメールシステムの一例である。本実施形態のサーバ10は、MTAMailTransferAgentとして機能し、SMTPを通じてネットワーク上で電子メールの受信と配送を行う。また、サーバ10は、POPやIMAPを通じて端末20から電子メールの受信要求を受け付け、当該端末20に電子メールを送信する処理も行う。サーバ10は、配送処理に用いるエンベロープの宛先宛先メールアドレス及びエンベロープの差出元差出元メールアドレス、メッセージとからなる電子メールを受信する。そして、サーバ10は、ネットワークを介して受信した当該電子メールを、エンベロープの宛先に基づいて配送先メールサーバを決定し、配送先のメールサーバに配送する処理を行う。より詳しく説明すると、サーバ10は、MUAMailUserAgentなどの差出元から送信された電子メールを、SMTPを通じて受信する処理を行う。例えば、サーバ10は、SMTPを通じて端末20又は他のメールサーバから送信された電子メールを受信する。なお、MUAとは、ネットワークを介してサーバ10と電子メールを送受信する処理を行うクライアントプログラムであり、ユーザが差出元となる電子メールを送信する処理、ユーザ宛の電子メールを受信する処理を行う。次に、サーバ10は、受信した電子メールのエンベロープの宛先のドメインを管理しているDNSDomainNameSystemサーバや、サーバ10のローカルエリア内のDNSサーバ、或いは他のDNSサーバに、受信した電子メールのエンベロープの宛先のドメインを問い合わせる例えば、宛先のドメインのMXレコードを問い合わせる。そして、DNSサーバの応答メッセージによって決められる配送先メールサーバへ、電子メールを配送ローカル配送、リモート配送する処理を行う。また、本実施形態のサーバ10は、POP、或いは、IMAPを通じて、ユーザの端末20からの要求に応じて、格納領域に格納された当該ユーザ宛の電子メールを、当該端末20に送信する処理を行うことができる。また、本実施形態のサーバ10は、Webサービスを提供するWebサーバとして機能してもよい。例えば、サーバ10は、端末20のWebブラウザからHTTPHyperTextTransferProtocolを通じて電子メールの送信、電子メールの受信等のアクセス要求を受け付けるようにしてもよい。また、メールシステムは、1つのサーバ10に限らず、複数のサーバ10によって構成してもよい。また、格納領域60は、サーバ10とは別の一又は複数の記憶装置一又は複数のハードウェアであってもよい。2.構成図2は、本実施形態のサーバ10の機能ブロック図の一例である。なお、本実施形態のサーバ10は、図2の各部を全て含む必要はなく、その一部を省略した構成としてもよい。記憶部50は、処理部100などのワーク領域となるもので、その機能はRAMVRAMなどのハードウェアにより実現できる。本実施形態の記憶部50には、格納領域60を含む。この格納領域60は、受信した電子メールの宛先のドメインが当該サーバ10のドメインと同じ場合サーバ10が管理するユーザが宛先となっている場合に、当該電子メールを格納するための記憶領域である。また、格納領域60は、メールボックス70、特定領域80を含む。サーバ10は、サーバ10が管理するユーザ毎にメールボックス70を設ける。メールボックス70は、所与の記憶領域であり、サーバが管理する各ユーザ情報に対応づけて設けられる。例えば、メールボックス70には、電子メールや電子メール参照情報が記憶される。また、特定領域80には、受信した電子メールや特定データが格納される。例えば、特定データは、電子メールの本文、添付ファイルデータである。また、記憶部50は、電子メール参照情報、特定データ参照情報、特定データ参照情報に対応づけてハッシュ値を登録したハッシュテーブルTB、電子メール参照情報に対応するリファレンス値R1、特定データ参照情報に対応するリファレンス値R2などを記憶してもよい。また、記憶部50は、配送対応部SMTPの受信部111によって受信された電子メールを、配送ローカル配送、リモート配送するために一時的に格納するためのスプール領域を設けてもよい。また、記憶部50は、サーバ10が管理するユーザのユーザ情報ユーザ名、パスワード、ユーザのメールボックス名を記憶してもよい。また、情報記憶媒体180は、コンピュータにより読み取り可能であり、この情報記憶媒体180にはプログラムやデータなどが格納されている。即ち、情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム各部の処理をコンピュータに実行させるためのプログラムが記憶される。つまり、処理部100は、この情報記憶媒体180に格納されるプログラムデータから読み出されたデータに基づいて本実施形態の種々の処理を行うことができる。例えば、情報記録媒体180は、光ディスクCD、DVD、光磁気ディスクMO、磁気ディスク、ハードディスク、磁気テープ、或いはメモリROM、メモリカード等である。処理部100は、記憶部50に格納されるプログラムデータに基づいて本実施形態の種々の処理を行う。なお、本実施形態の処理部100が、情報記憶媒体180に格納されているプログラムやデータを読み出し、読み出したプログラムやデータを記憶部50に格納し、そのプログラムやデータに基づいて処理を行ってもよい。処理部100プロセッサは、記憶部50内の主記憶部をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサCPU、DSP等などのハードウェアや、プログラムにより実現できる。本実施形態の処理部100は、配送対応部SMTP110、受信対応部POP/IMAP120と、を含む。配送対応部110は、SMTPなどの電子メール配送プロトコルを通じて電子メールの受信、配送処理格納処理を行う。配送対応部110は、受信部111、格納処理部112、配送部113を含む。例えば、受信部111は、端末20のMUA21によって、差出元から送信され、エンベロープの宛先が指定された電子メールを受信する処理受け付ける処理を行う。また、格納処理部112は、受信した電子メールの宛先のドメインが、当該サーバ10が管理するドメインと同じ場合、つまり、受信した電子メールの宛先がサーバ10の管理下のユーザである場合に、当該電子メールを格納領域60に格納する処理を行う。すなわち、格納処理部112は、サーバ10が稼動する同一システム内にアカウントを持つユーザ宛に配送するローカル配送処理を行う。なお、ローカル配送処理は、専用のローカル配信エージェントであるMDAMailDeliveryAgentによって処理を行ってもよい。なお、サーバ10が管理するドメインは、1つに限らず複数であってもよい。また、格納処理部112は、受信した電子メールに含まれる特定データが、格納領域60に既に格納された他の電子メールに含まれる場合には、当該特定データを特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納する処理を行う。また、格納処理部112は、受信した電子メールに含まれる添付ファイルデータを特定データとし、当該添付ファイルデータが、格納領域60に既に格納された他の電子メールの添付ファイルデータ又は本文と同じ場合には、当該受信した電子メールに含まれる添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納する処理を行う。また、格納処理部112は、受信した電子メールに複数の添付ファイルデータを含む場合には、添付ファイルデータ毎に、添付ファイルデータが格納領域60に既に格納された他の電子メールの添付ファイルデータ又は本文と同じか否かを判断し、添付ファイルデータが格納領域60に既に格納された他の電子メールの添付ファイルデータ又は本文と同じ場合には、当該添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納する処理を行う。また、格納処理部112は、受信した電子メールに含まれる本文を特定データとし、当該本文が、格納領域60に既に格納された他の電子メールの本文又は添付ファイルデータと同じ場合には、当該受信した電子メールに含まれる本文を特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納する処理を行う。また、格納処理部112は、複数の宛先が指定された電子メールを受信した場合には、各宛先に対応する各ユーザのメールボックス70に、受信した電子メールに対応する電子メール参照情報を格納すると共に、当該電子メールを特定領域80に格納する処理を行うようにしてもよい。また、配送部113は、受信した電子メールの宛先ドメインが他のメールサーバのドメインである場合に、当該他のメールサーバに電子メールを配送するリモート配送処理転送処理、中継処理を行う。受信対応部120は、POP又はIMAPなどの電子メール受信プロトコルを通じて、電子メールを端末20に送信する処理を行う。本実施形態の受信対応部120は、受け付け部121、送信部122、参照判断部123、削除部124と、を含む。受信対応部120は、端末20から受信要求を受け付けると、ユーザ情報ユーザ名、パスワードを端末20から受信し、ユーザ情報に基づきユーザ認証処理を行う。例えば、受信したユーザ名とパスワードが、サーバ10側で予め登録されているユーザ名とパスワードと一致するか否かを判定し、一致した場合にユーザ認証を認め、不一致はユーザ認証を認めないように判断する。そして、受信対応部120は、ユーザ認証が認められたユーザを宛先とする電子メールを当該端末20に送信する処理を行う。受け付け部121は、端末20から電子メールの受信要求を受け付ける処理を行う。送信部122は、格納領域60に格納された電子メールを送信する処理を行う。例えば、送信部122は、格納領域60から読み出した電子メールに特定データ参照情報が含まれる場合には、特定データ参照情報を特定データに書き戻し、書き戻された電子メールを端末20に送信する処理を行う。また、送信部122は、受信要求を受け付けたユーザのメールボックス70に格納された電子メール参照情報に基づき、電子メールを特定領域80から読み出し、読み出された電子メールを端末20に送信する処理を行う。また、参照判断部123は、格納領域60に格納された電子メール電子メールの少なくとも一部が参照されているか否かを判断する処理を行う。例えば、参照判断部123は、電子メール参照情報に対応するリファレンス値に基づいて、格納領域60に格納された電子メールが参照されているか否かを判断する処理を行う。また、参照判断部123は、特定データ参照情報に対応するリファレンス値に基づいて、格納領域60に格納された電子メールが参照されているか否かを判断する処理を行うようにしてもよい。また、削除部124は、参照されていないと判断される電子メールを、格納領域60から削除する処理を行う。例えば、削除部124は、電子メール参照情報に対応するリファレンス値が所定値例えば、0である電子メールを、格納領域60から削除する処理を行う。また、削除部124は、特定データに対応するリファレンス値が所定値例えば、0である特定データを、格納領域60から削除する処理を行う。端末20は、コンピュータ、携帯電話、スマートフォン、タブレット型コンピュータ、携帯端末、ゲーム装置などであり、MUA21として機能する。3.本実施形態の処理の説明本実施形態のサーバ10は、差出元から送信された電子メールを受信し、当該電子メールの宛先が、サーバ10が管理するユーザ宛の場合、受信した電子メールを格納領域60に格納する処理を行う。例えば、受信した電子メールの宛先のドメインがサーバ10のアドレス例えば、aaa.comを示す場合に、受信した電子メールを格納領域60に格納する処理を行う。そして、端末20からの要求に応じて格納領域60の電子メールを送信する処理を行う。以下、本実施形態の格納処理と送信処理の詳細について説明する。3.1複数の宛先が指定された電子メールの格納処理と送信処理の説明さて、従来のサーバは、複数の宛先が指定された電子メールを受信した場合、同一内容の電子メールを、各宛先のメールボックス70に格納する処理を行っていた。例えば、図3Aに示すように、サーバが、所与の端末20或いは他のサーバから、ネットワークを介してSMTPコマンドのエンベロープの宛先RCPTTOで複数の宛先例えば、userAaaa.com、userBaaa.comが指定された電子メールM1を受信したとする。すると、サーバは、宛先userAaaa.comのメールボックス70Aに電子メールM1を格納し、宛先userBaaa.comのメールボックス70Bに電子メールM1を格納する処理を行っていた。つまり、同じ内容の電子メールM1にもかかわらず、各宛先の各メールボックス70A、70Bに、電子メールM1を格納する処理を行っていた。ゆえに、従来のサーバは、無駄に格納領域を使用してしまうという問題があった。そこで、本実施形態のサーバ10は、格納領域60に各ユーザのメールボックス70と特定領域80とを含むようにし、複数の宛先が指定された電子メールを受信した場合には、各宛先に対応する各ユーザのメールボックスに、受信した電子メールに対応する電子メール参照情報を格納すると共に、一の電子メールを特定領域80に格納する処理を行うようにする。例えば、図3Bに示すように、userAaaa.com、userBaaa.comの宛先が指定された電子メールM1を受信すると、まず電子メールM1の電子メール参照情報を決定する。例えば、電子メールM1の参照情報が001であるとすると、サーバ10は、userAaaa.comのメールボックス70A、userBaaa.comのメールボックス70Bそれぞれに、電子メールM1の参照情報001を格納する。そして、一の電子メールM1を特定領域80に格納する。ここで、電子メール参照情報は、受信した電子メールの参照先を示す情報であり、電子メールを一意に識別できる情報であればよい。例えば、電子メール参照情報は、ユニーク番号や、電子メールを受信した日時とすることができる。なお、本実施形態では、電子メール参照情報のサイズは、所定サイズ以下例えば、16バイト以下とし、一般的な電子メールのサイズよりも小さいサイズにしている。このように、本実施形態のサーバ10は、各ユーザA、Bのメールボックス70A、70Bには電子メールM1の参照情報を記録するだけであり、特定領域80には受信した一の電子メールM1のデータを格納するだけであるので、従来よりも格納領域60の使用量を節約することができる。例えば、電子メールM1のサイズが20,000,000バイトであり、電子メールM1の参照情報のサイズが3バイトとすると、従来のサーバでは、格納領域60において、電子メールM1を個別に格納していたので40,000,000バイトを使用することになっていた。一方、本実施形態のサーバ10は、格納領域60に1つ分の電子メールM1と、電子メールM1の参照情報とを格納するだけでよいので、結果的に、20,000,006バイトだけ使用することになり、格納領域60を使用する容量を従来よりも格段に節約することができる。次に、サーバ10が、端末20からの受信要求に応じて格納された電子メールを当該端末20に送信する処理について説明する。サーバ10は、端末20から受信要求とユーザ情報を受信し、ユーザ認証を認めると当該ユーザのメールボックスから電子メール参照情報を取得し、取得した電子メール参照情報に対応する電子メールを特定領域80から読み出し、読み出された電子メールを端末20に送信する処理を行う。例えば、サーバ10は、ユーザ名userAaaa.comの端末20から受信要求を受け付けると、userAaaa.comのメールボックス70Aにある電子メール参照情報001を取得する。そして、電子メール参照情報001に対応する電子メールM1を特定領域80から読み出し、読み出した電子メールM1を端末20に送信する。なお、サーバ10は、電子メールの規格例えば、MIMEMultipurposeInternetMailExtensionsに基づいて特定領域80から取得した電子メールM1に、固有情報を付加して送信用の電子メールを生成し、生成された電子メールを端末20に送信してもよい。例えば、図4に示すように、Delivered-Toヘッダを電子メールのヘッダの最上位に付加し端末20に送信するようにしてもよい。また、サーバ10は、端末20から電子メールのサイズの要求情報を受信した場合には、固有情報を付加した送信用の電子メールのサイズを端末20に送信するようにしてもよい。例えば、図4に示すように、サーバ10は、固有情報のサイズを算出し、特定領域80に格納された電子メールM1のサイズ例えば、1300バイトに固有情報のサイズ例えば、16バイトを加算した合計値例えば、1316バイトを、端末20に送信する処理を行うようにしてもよい。このようにすれば、送信用の電子メールの正しいサイズを、端末に通知できる。3.2添付ファイルデータを含む電子メールの格納処理と送信処理の例さて、従来のサーバは、例えば、図5に示すように、T2時点でファイルF1が添付されたuserAaaa.com宛の電子メールM2を受信し、その後、T3時点でファイルF1が添付されたuserBaaa.com宛の電子メールM3を受信した場合、共通のファイルF1が添付された各電子メールM2、M3を、各メールボックス70A、70Bに個別に保存していたので格納領域60を無駄に使用してしまうという問題があった。そこで、本実施形態のサーバ10は、電子メールを受信すると、受信した電子メールに含まれる添付ファイルデータ特定データの一例が、格納領域60に既に格納された他の電子メールの添付ファイルデータと同じ場合には、添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納する処理を行う。このようにすれば、同じ内容の添付ファイルデータが重複して格納されることを回避でき、格納領域60の使用を節約することができる。3.2.1添付ファイルデータを含む電子メールの格納処理と送信処理の例13.2.1.1格納処理添付ファイルデータを格納する第1の処理例について説明する。まず、サーバ10は、図6に示すように、T2時点でuserAaaa.comの宛先が指定された電子メールM2を受信すると、電子メールM2の参照先を示す一意の電子メール参照情報を決定する。そして、サーバ10は、電子メールM2の参照情報が002であるとすると、userAaaa.comのメールボックス70Aに、電子メールM2の参照情報002を格納する。次に、サーバ10は、電子メールM2の添付ファイルデータF1が既に特定領域80広義には格納領域60に格納されているか否かを判断する。つまり、サーバ10は、添付ファイルデータF1が、特定領域80に既に格納された他の電子メールの添付ファイルデータと同じであるか否かを判断する。ここで、既に格納された他の電子メールとは、サーバ10が、電子メールM2とは異なるタイミングで過去に受信した一又は複数の電子メールのことである。具体的には、サーバ10は、添付ファイルデータのハッシュ値識別情報を計算し、ハッシュ値に基づいて、電子メールの添付ファイルデータが既に特定領域80に格納されているか否かを判断する。なお、ハッシュ値は、ハッシュ関数チェックサム、チェックディジット、フィンガープリント等に基づき求められる値である。例えば、ハッシュ関数の入力キーを添付ファイルデータとし、ハッシュ関数の出力値をハッシュ値とする。このハッシュ値は、添付ファイルデータ特定データの一例を識別特定するための情報となる。例えば、サーバ10は、電子メールM2の添付ファイルデータF1のハッシュ値が1549128であるとすると、ハッシュ値1549128がハッシュテーブルTBに登録されているか否かを判断する。つまり、サーバ10は、ハッシュ値1549128が、ハッシュテーブルTBに登録されていると判断された場合には、電子メールM2の添付ファイルデータF1が既に特定領域80に格納されていると判断し、ハッシュ値1549128が、ハッシュテーブルTBに登録されていないと判断された場合には、電子メールM2の添付ファイルデータF1が特定領域80に格納されていないと判断する。例えば、T2の時点で、電子メールM2の添付ファイルデータF1のハッシュ値1549128がハッシュテーブルTBに登録されていない場合には、サーバ10は、図7に示すように、ハッシュ値1549128を、当該添付ファイルデータF1の特定データ参照情報に対応付けて登録する。ここで、特定データ参照情報は、参照先の特定データを識別する情報であり、例えば、参照先の電子メールと参照先の添付ファイルデータを識別するための情報である。本実施形態では、特定データ参照情報のサイズは、所定のサイズ以下とし、一般的な本文のサイズや添付ファイルデータのサイズよりも小さいサイズにしている。具体的には、特定データ参照情報は、002-1のように、電子メール参照情報002とファイルの番号1番目のファイルの組み合わせで決定する。なお、ファイルの番号は、電子メールに添付されたファイルの番号であり、マルチパート形式の電子メールの上から順に添付ファイルの番号を決める。例えば、図8Bに示すように、マルチパート形式の電子メールの第2のパート520以降のパートを添付ファイルデータとして扱う場合には、第2のパート520のパートボディ522のデータを1番目の添付ファイルデータとする。また、図8には示していないが、例えば、第3のパートがある場合には、第3のパートのパートボディのデータを2番目の添付ファイルデータとする。つまり、サーバ10は、T2時点でハッシュ値1549128が、ハッシュテーブルTBに登録されていないので、ハッシュ値1549128に対応づけて、特定データ参照情報002-1を登録し、添付ファイルデータF1を含む電子メールM2を、そのまま特定領域80に格納する処理を行う。その後、図6に示すように、T3時点T2時点の後の時点で、サーバ10が、userBaaa.comの宛先が指定された電子メールM3を受信したとする。なお、電子メールM3は、電子メールM2に添付されたファイルデータと同じ内容の添付ファイルデータF1を含む。まず、サーバ10は、userBaaa.comのメールボックス70Bに、電子メールM3の参照情報を決定し当該参照情報003を格納する。そして、サーバ10は、電子メールM3に添付された添付ファイルデータF1のハッシュ値を求め、ハッシュ値がハッシュテーブルTBに登録されているか否かを判断する。例えば、T3時点で、添付ファイルデータF1のハッシュ値1549128が、ハッシュテーブルTBに登録されているので、サーバ10は、電子メールM3の添付ファイルデータF1が、特定領域80に既に格納されていると判断する。つまり、サーバ10は、T3時点で、添付ファイルデータF1が特定領域80に既に格納された他の電子メールM2の添付ファイルデータF1と同じと判断する。そして、サーバ10は、電子メールM3の添付ファイルデータF1をハッシュ値1549128に対応する特定データ参照情報002-1に書き換え、書き換え後の電子メールM3を特定領域80に格納する処理を行う。以上のように、本実施形態のサーバ10は、結果として格納領域60に、添付ファイルデータを重複して格納することを回避することができ、従来よりも格納領域60を使用する容量を節約することができる。特に、本実施形態のサーバ10は、音声データや画像データなど容量の多いファイルが添付された電子メールを格納領域60に保存する場合においては、格納領域60の使用量を従来よりも格段に節約することができる。また、本実施形態のサーバ10は、初めて添付ファイルデータを格納する際は、当該添付ファイルは電子メールから分離されることがないので、必要最小限で添付ファイルデータの書き換えを行うことになり、結果的に処理負荷を軽減することができる。なお、サーバ10は、受信した電子メールが複数の添付ファイルデータを含むと判断した場合には、添付ファイルデータ毎に、添付ファイルデータが特定領域80広義には格納領域60に既に格納された他の電子メールの添付ファイルデータと同じか否かを判断し、添付ファイルデータが特定領域80に既に格納された他の電子メールの添付ファイルデータと同じ場合には、当該添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを特定領域80に格納する処理を行うようにしてもよい。例えば、図9に示すように、T4時点でuserAaaa.comの宛先が指定された電子メールM4を受信すると、userAaaa.comのメールボックス70Aに、電子メールM4の参照情報004を格納する。そして、サーバ10は、電子メールM4の添付ファイルデータF2、F3が既に特定領域80に格納されているか否かを判断する。例えば、T4時点で電子メールM4の添付ファイルデータF2のハッシュ値3478204がハッシュテーブルTBに登録されていないので、サーバ10は、当該ハッシュ値3478204を、特定データ参照情報004-1に対応付けて登録する。この特定データ参照情報004-1は、電子メールM4参照情報004の1番目のファイルを意味している。また、サーバ10は、T4時点で電子メールM4の添付ファイルデータF3のハッシュ値3478232がハッシュテーブルTBに登録されていないので、当該ハッシュ値3478232を、特定データ参照情報004-2に対応付けて登録する。この特定データ参照情報004-2は、電子メールM4参照情報004の2番目のファイルを意味している。そして、サーバ10は、添付ファイルデータF2と添付ファイルデータF3とを含む電子メールM4を、そのまま特定領域80に格納する処理を行う。その後、サーバ10が、T5時点T4時点の後の時点で、userBaaa.comの宛先が指定された電子メールM5を受信したとする。なお、電子メールM5は、添付ファイルデータF3と、添付ファイルデータF4とを含む。まず、サーバ10は、userBaaa.comのメールボックス70Bに、電子メールM5の参照情報005を格納する。そして、サーバ10は、電子メールM5の添付ファイルデータF3、F4が既に特定領域80に格納されているか否かを判断する。例えば、サーバ10は、T5時点で電子メールM5の添付ファイルデータF3のハッシュ値3478204がハッシュテーブルTBに登録されていると判断されるので、電子メールM5の添付ファイルデータF3を、ハッシュ値3478204に対応する特定データ参照情報004-2に書き換える。また、サーバ10は、T5時点で、電子メールM5の添付ファイルデータF4のハッシュ値2349872がハッシュテーブルTBに登録されていないので、ハッシュテーブルTBにハッシュ値2349872を特定データ参照情報005-2に対応付けて登録する。なお、この特定データ参照情報005-2は、電子メールM5参照情報005の2番目のファイルを意味している。そして、サーバ10は、添付ファイルデータF3を特定データ参照情報004-2に書き換えた電子メールM5を特定領域80に格納する処理を行う。3.2.1.2送信処理次に、サーバ10の送信処理について説明する。まず、サーバ10が、端末20から受信要求とユーザ情報を受信し、ユーザ認証を認めるとユーザのメールボックスから電子メール参照情報を取得する。そして、取得した電子メール参照情報に基づいて、電子メールを特定領域80から読み出し、特定領域80から読み出された電子メールに特定データ参照情報が含まれる場合には、特定データ参照情報を元の添付ファイルデータに書き戻し、書き戻された電子メールを端末20に送信する処理を行う。一方、特定領域80から読み出された電子メールに特定データ参照情報が含まれない場合には、読み出した電子メールを端末20に送信する処理を行う。このようにすれば、従来と同じように、端末にユーザ宛の電子メールを送信することができる。例えば、図6のT3以後で、サーバ10が、ユーザ名userBaaa.comの端末20から受信要求を受け付けると、userBaaa.comのメールボックス70Bにある電子メール参照情報003を取得する。そして、003に対応する電子メールM3を特定領域80から読み出す。そしてサーバ10は、電子メールM3に特定データ参照情報が含まれているか否かを判断する。例えば、サーバ10は、電子メールM3において、ハッシュテーブルTBに登録されている特定データ参照情報を検出した場合には、電子メールM3に特定データ参照情報を含むと判断する。一方、サーバ10は、電子メールM3においてハッシュテーブルTBに登録されている特定データ参照情報を検出しない場合には、電子メールM3に特定データ参照情報を含まないと判断する。例えば、サーバ10は、電子メールM3に特定データ参照情報を含むと判断すると、特定データ参照情報002-1を取得する。そして、特定データ参照情報002-1に対応する添付ファイルデータF1を取得し、電子メールM3の当該特定データ参照情報002-1をファイルデータF1に書き戻す。例えば、特定データ参照情報002-1は、電子メールM2の1番目の添付ファイルを意味するので、サーバ10は、電子メールM2の1番目の添付ファイルデータF1例えば、第2のパートのパートボディを読み出して、特定データ参照情報002-1を削除して代わりにファイルデータF1を書き込む処理を行う。そして、サーバ10は、書き戻された電子メールM3を端末20に送信する処理を行う。なお、サーバ10は、上述したように、電子メールM3に固有情報を加えて送信用の電子メールM3を生成して端末20に送信してもよい。また、サーバ10は、端末20から電子メールのサイズの要求情報を受信した場合には、固有情報を付加した送信用の電子メールのサイズを端末20に送信するようにしてもよい。なお、サーバ10は、受信要求を受け付けたユーザのメールボックスに複数の電子メール参照情報を取得した場合には、電子メール参照情報毎に処理を行う。また、サーバ10は、読み出した電子メールに複数の特定データ参照情報が含まれる場合には、複数の特定データ参照情報それぞれについて、特定データ参照情報に対応するファイルデータに、書き戻し、書き戻された電子メールを端末20に送信する処理を行う。以上のように、本実施形態のサーバ10は、電子メールの一部を特定データ参照情報に書き換えたとしても、元の添付ファイルデータに戻すことができるので、データを紛失することなく確実に電子メールを送信することができる。3.2.2添付ファイルデータを含む電子メールの格納処理と送信処理の例23.2.2.1格納処理また、本実施形態のサーバ10は、図10に示すように、一律に受信する電子メールの添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを特定領域80に格納するようにしてもよい。そして、サーバ10は、添付ファイルデータのハッシュ値に基づいて、電子メールの添付ファイルデータが既に特定領域80に格納されているか否かを判断し、添付ファイルデータが特定領域80に格納されていない場合に、添付ファイルデータを特定領域80に格納する。一方、添付ファイルデータが特定領域80に格納されている場合には添付ファイルデータを重複して特定領域80に格納しないように制御する。例えば、図10に示すように、サーバ10は、T2時点において、電子メールM2の添付ファイルデータF1が特定領域80に格納されていない場合には、F1のハッシュ値1549128をF1の特定データ参照情報002-1に対応づけて登録する。電子メールM2の添付ファイルデータF1を特定データ参照情報002-1に書き換え、書き換え後の電子メールM2を特定領域80に格納する処理を行うと共に、添付ファイルデータF1の実データも特定領域80に格納する処理を行う。そして、その後、サーバ10は、T3時点で受信した電子メールM3を受信すると、添付ファイルデータF1が特定領域80に格納されているので、添付ファイルデータF1を特定データ参照情報002-1に書き換え、書き換え後の電子メールM3を特定領域80に格納する処理を行う。なお、T3時点では、添付ファイルデータF1のハッシュ値1549128が既にハッシュテーブルTBに登録されているので、T3時点で添付ファイルデータF1を特定領域80に格納しないように制御する。なお、サーバ10は、上述した3.2.1.1の格納処理と同じように、複数の添付ファイルデータを含むと判断した場合には、添付ファイルデータ毎に処理を行うようにしてもよい。以上のように、処理例2においても、サーバ10は、同一の添付ファイルデータを重複して格納しないように制御することにより、従来よりも格納領域60を使用する容量を節約することができる。3.2.2.2送信処理次に、サーバ10の送信処理について説明する。例2においても、サーバ10は、基本的には、例1の3.2.1.2の送信処理と同じように、処理を行う。例えば、サーバ10は、読み出された電子メールに特定データ参照情報を含むか否かを判断し、読み出された電子メールが特定データ参照情報を含む場合には、特定データ参照情報を、特定領域80に格納されている添付ファイルデータ特定データ参照情報に対応する添付ファイルデータに書き戻し、書き戻された電子メールを端末20に送信する処理を行う。一方、特定領域80から読み出された電子メールに特定データ参照情報が含まれない場合には、読み出した電子メールを端末20に送信する処理を行う。3.2.3添付ファイルデータを含む電子メールの格納処理と送信処理の例33.2.3.1格納処理また、本実施形態のサーバ10は、図11に示すように、受信する電子メールの添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを、各宛先のメールボックス70に格納するようにしてもよい。そして、サーバ10は、添付ファイルデータのハッシュ値に基づいて、電子メールの添付ファイルデータが既に特定領域80に格納されているか否かを判断し、添付ファイルデータが特定領域80に格納されていない場合に、添付ファイルデータを特定領域80に格納する。一方、添付ファイルデータが特定領域80に格納されている場合には添付ファイルデータを重複して特定領域80に格納しないように制御する。例えば、図11に示すように、T2時点において、サーバ10は、電子メールM2の添付ファイルデータF1が特定領域80に格納されていない場合、添付ファイルデータF1を特定データ参照情報002-1に書き換え、書き換え後の電子メールM2をメールボックス70Aに格納する処理を行うと共に、添付ファイルデータF1を特定領域80に格納する処理を行う。また、サーバ10は、ハッシュテーブルTBに、F1のハッシュ値1549128に対応づけて、F1の特定データ参照情報002-1を登録する。その後、サーバ10が、T3時点で受信した電子メールM3を受信すると、電子メールM3の添付ファイルデータF1を特定データ参照情報002-1に書き換え、書き換え後の電子メールM3をメールボックス70Bに格納する処理を行う。なお、T3時点では、添付ファイルデータF1のハッシュ値1549128が既にハッシュテーブルTBに登録されているので、T3時点で添付ファイルデータF1を特定領域80に格納しないように制御する。なお、サーバ10は、受信した電子メールが複数の添付ファイルデータを含むと判断した場合には、添付ファイルデータ毎に処理を行うようにしてもよい。例えば、サーバ10は、添付ファイルデータ毎に添付ファイルデータを特定データ参照情報に書き換え、書き換え後の電子メールを各宛先のメールボックス80に格納する。また、サーバ10は、添付ファイルデータ毎に、添付ファイルデータのハッシュ値に基づいて、電子メールの添付ファイルデータが既に特定領域80に格納されているか否かを判断し、添付ファイルデータが特定領域80に格納されていない場合に、添付ファイルデータを特定領域80に格納する。以上のように、例3においても、サーバ10は、同一の添付ファイルデータを重複して格納しないように制御することにより、従来よりも格納領域60を使用する容量を節約することができる。3.2.3.2送信処理次に、処理例3のサーバ10の送信処理について説明する。サーバ10は、端末20から受信要求とユーザ情報を受信し、ユーザ認証を認めると、ユーザのメールボックスから電子メールを読み出す。そして、サーバ10は、読み出された電子メールが特定データ参照情報を含むか否かを判断し、読み出された電子メールに特定データ参照情報が含まれる場合には、特定データ参照情報を、特定領域80に格納されている添付ファイルデータ特定データ参照情報に対応する添付ファイルデータに書き戻し、書き戻された電子メールを端末20に送信する処理を行う。一方、特定領域80から読み出された電子メールに特定データ参照情報が含まれない場合には、読み出した電子メールを端末20に送信する処理を行う。また、サーバ10は、読み出した電子メールに複数の特定データ参照情報が含まれる場合には、複数の特定データ参照情報それぞれについて、特定データ参照情報を対応するファイルデータに書き戻し、書き戻された電子メールを端末20に送信する処理を行う。また、サーバ10は、ユーザのメールボックスに複数の電子メールが存在する場合には、電子メール毎に処理を行う。なお、サーバ10は、上述したように、固有情報を加えて送信用の電子メールを生成して端末20に送信してもよい。また、サーバ10は、端末20から電子メールのサイズの要求情報を受信した場合には、固有情報を付加した送信用の電子メールのサイズを端末20に送信するようにしてもよい。3.2.4本文、添付ファイルデータの説明図8Aは、シングルパート形式の電子メールの一例を示す。図8Aに示すように、シングルパート形式の電子メールは、添付ファイルはないものとして処理する。なお、シングルパート形式の電子メールは、1つのパートからなるヘッダ200と本文300によって構成されており、空行情報に基づいて、本文300を抽出する処理を行う。図8Bは、マルチパート形式の電子メールの一例を示す。図8Bに示すように、マルチパート形式の電子メールは、ヘッダ400と複数のパート510、520によって構成される。本実施形態における添付ファイルデータは、電子メールのデータのうち添付されたファイルのデータのことをいい、MIME規格のマルチパート形式のパートのデータ例えば、パートボディのデータ、或いは、パートヘッダ及びパートボディのデータである。通常、マルチパート形式の電子メールの1番目のパートには、ユーザがメールソフトにおいて本文として記載したメッセージが記録されているので、本実施形態では、1番目のパート510のデータパートボディ512のデータ、又は、パートヘッダ511及びパートボディ512のデータを本文とし、2番目のパート520のデータパートボディ522のデータ、又は、パートヘッダ521及びパートボディ522のデータを添付ファイルデータとして処理を行う。なお、3つ以上のパートが存在する場合には、2番目以降のそれぞれの各パートのデータを各添付ファイルデータとして処理を行う。つまり、3つ以上のパートが存在する場合には、複数の添付ファイルデータを有することになる。なお、マルチパート形式のいずれかのパートが、更にマルチパート形式にデータが記録されている電子メールも存在する。かかる場合には、再帰的に各パートのデータを添付ファイルデータとして処理してもよい。また、マルチパート形式のパートに記録されている下位のマルチパートのパートのデータ入れ子にされたマルチパートのパートのデータについては添付ファイルデータとして処理を行わないように制御し、1段階目の各パートのデータを添付ファイルデータとして処理を行うようにしてもよい。なお、サーバ10は、各パートのパートヘッダを参照し、パートヘッダのContent-Typeがimage/jpeg等の特定のヘッダ情報である場合に、そのパートのデータを添付ファイルデータとして扱うようにしてもよい。また、サーバ10は、図8Bに示すようなマルチパート形式の電子メールにおいて、各パートのデータそれぞれを、各添付ファイルデータとして扱うようにしてもよい。つまり、図8Bの場合には、電子メールの第1のパート510のデータを1番目の添付ファイルデータとして取り扱い、第2のパート520のデータを2番目の添付ファイルデータとして取り扱ってもよい。なお、サーバ10は、図8Bに示すようなマルチパート形式の電子メールにおいて、全パートのデータ500を本文として処理してもよいし、本文はないものとして処理してもよい。なお、サーバ10は、電子メールのヘッダのContent-Typeがmultipart/mixedである場合に、当該電子メールは添付ファイルデータを有すると判断するマルチパート形式の電子メールであると判断する。また、その際に、サーバ10は、各パートの区切り情報boundaryが示すデータを取得し、区切り情報に基づき各パートデータを抽出する。また、サーバ10は、空行情報に基づいて、各パートのパートヘッダやパートボディデータを抽出し、添付ファイルデータを読み出す処理、添付ファイルデータを抽出して特定データ参照情報に書き換える処理等を行う。3.3本文に関する電子メールの格納処理と送信処理の例サーバ10は、受信した電子メールの本文特定データの一例が、格納領域60に既に格納された他の電子メールの本文と同じ場合に、受信した電子メールの本文を特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納する処理を行うようにしてもよい。3.3.1本文に関する電子メールの格納処理と送信処理の例13.3.1.1格納処理例えば、サーバ10は、図12に示すように、T6時点で、userAaaa.comの宛先が指定された電子メールM6を受信すると、電子メールM6の電子メール参照情報を決定する。例えば、電子メールM6の電子メール参照情報が006であるとすると、userAaaa.comのメールボックス70Aに電子メール参照情報006を格納する。次に、サーバ10は、T6時点において、電子メールM6の本文B1のハッシュ値を求め、ハッシュ値に基づいて、電子メールM6の本文B1が既に特定領域80広義には格納領域60に格納されているか否かを判断する。このハッシュ値は、本文特定データの一例を識別特定するための情報である。つまり、サーバ10は、ハッシュ値がハッシュテーブルTBに登録されているか否かを判断する。例えば、本文B1のハッシュ値が3451432であるとすると、このハッシュ値3451432がハッシュテーブルTBに登録されているか否かを判断する。そして、サーバ10は、本文B1のハッシュ値を3451432がハッシュテーブルTBに登録されていない場合に、電子メールM6の本文が特定領域80に格納されていないと判断し、ハッシュテーブルTBにハッシュ値3451432に対応づけて特定データ参照情報006-Bを登録する。なお、特定データ参照情報の006-Bは、電子メールM6の参照情報006と、参照先のデータが本文であることを示すデータBとを組み合わせた情報とする。そして、サーバ10は、電子メールM6をそのまま特定領域80に格納する処理を行う。その後、サーバ10が、T7時点T6時点の後のタイミングで、userBaaa.comの宛先が指定された電子メールM7を受信したとする。サーバ10は、userBaaa.comのメールボックス70Bに、電子メールM7の電子メール参照情報007を格納する。そして、サーバ10は、電子メールM7の本文B1のハッシュ値を求める。そして、サーバ10は、T7時点において、電子メールM7のハッシュ値がハッシュテーブルTBに登録されているか否かを判断する。例えば、サーバ10は、T7時点で、電子メールM7の本文B1のハッシュ値3451432がハッシュテーブルTBに登録されている場合、電子メールM7の本文が特定領域80に格納されていると判断する。そして、電子メールM7の本文を、ハッシュ値3451432に対応する特定データ参照情報006-Bに書き換えて、電子メールM7を特定領域80に格納する処理を行う。3.3.1.2送信処理次に、サーバ10の送信処理について説明する。サーバ10は、端末20から受信要求とユーザ情報を受信し、ユーザ認証を認めるとユーザのメールボックスから電子メールを読み出す。そして、サーバ10は、読み出された電子メールが特定データ参照情報を含むか否かを判断し、読み出された電子メールが特定データ参照情報を含む場合には、特定データ参照情報を特定領域80に格納されている本文特定データ参照情報に対応する本文に書き戻し、書き戻された電子メールを端末20に送信する処理を行う。一方、特定領域80から読み出された電子メールに特定データ参照情報が含まれない場合には、読み出した電子メールを端末20に送信する処理を行う。このようにすれば、従来と同じように、端末にユーザ宛の電子メールを送信することができる。例えば、図12のT7以後で、サーバ10が、ユーザ名userBaaa.comの端末20から受信要求を受け付けると、userBaaa.comのメールボックス70Bにある電子メール参照情報007を取得する。そして、007に対応する電子メールM7を特定領域80から読み出す。そして、サーバ10は、電子メールM7に特定データ参照情報を含むか否かを判断する。例えば、サーバ10は、電子メールM7に特定データ参照情報を含むと判断されると、特定データ参照情報006-Bを取得し、006-Bに対応する本文B1を取得し、当該特定データ参照情報006-Bを本文B1に書き戻す。例えば、特定データ参照情報006-Bは、電子メールM6の本文を意味するので、サーバ10は、電子メールM6の本文B1を読み出して、電子メールM7の特定データ参照情報006-Bを削除して代わりに本文B1を書き込む処理を行う。そして、サーバ10は、書き戻された電子メールM7を端末20に送信する処理を行う。なお、サーバ10は、上述したように、電子メールM7に固有情報を加えて送信用の電子メールM7を生成して端末20に送信してもよい。また、サーバ10は、端末20から電子メールM7のサイズの要求情報を受信した場合には、固有情報を付加した送信用の電子メールM7のサイズを端末20に送信するようにしてもよい。なお、サーバ10は、受信要求を受け付けたユーザのメールボックスに複数の電子メール参照情報を取得した場合には、電子メール参照情報毎に処理を行う。また、サーバ10は、読み出した電子メールに複数の特定データ参照情報が含まれる場合には、複数の特定データ参照情報それぞれについて、特定データ参照情報を対応する本文に書き戻し、書き戻された電子メールを端末20に送信する処理を行う。以上のように、本実施形態のサーバ10は、電子メールの一部の本文を特定データ参照情報に書き換えたとしても、元の添付ファイルデータに戻すことができるので、データを紛失することなく確実に電子メールを送信することができる。3.3.2本文に関する電子メールの格納処理と送信処理の例23.3.2.1格納処理また、サーバ10は、図13に示すように、受信する電子メールの本文を特定データ参照情報に書き換え、書き換え後の電子メールを、各宛先のメールボックス70に格納するようにしてもよい。そして、サーバ10は、本文のハッシュ値に基づいて、電子メールの本文が既に特定領域80に格納されているか否かを判断し、本文が特定領域80に格納されていない場合に、本文を特定領域80に格納する。一方、本文が特定領域80に格納されている場合に、本文を重複して特定領域80に格納しないように制御する。例えば、図13に示すように、T6時点において、サーバ10は、電子メールM6の本文B1を特定データ参照情報006-Bに書き換え、書き換え後の電子メールM6をメールボックス70Aに格納する処理を行う。そして、サーバ10は、本文B1が特定領域80に格納されていない場合、本文B1を特定領域80に格納する処理を行い、ハッシュテーブルTBに、本文B1のハッシュ値3451432に対応づけて、本文B1の特定データ参照情報006-Bを登録する。その後、サーバ10が、T7時点で受信した電子メールM7を受信すると、電子メールM7の本文B1を特定データ参照情報006-Bに書き換え、書き換え後の電子メールM7をメールボックス70Bに格納する処理を行う。なお、T7時点では、本文B1のハッシュ値3451432が既にハッシュテーブルTBに登録されているので、T7時点で本文B1を特定領域80に格納しないように制御する。以上のように、例2においても、サーバ10は、同一の本文を重複して格納しないように制御することにより、従来よりも格納領域60を使用する容量を節約することができる。3.3.2.2送信処理次に、サーバ10の送信処理について説明する。サーバ10は、端末20から受信要求とユーザ情報を受信し、ユーザ認証を認めるとユーザのメールボックスから電子メールを読み出す。そして、サーバ10は、読み出された電子メールの特定データ参照情報を、特定領域80に格納されている本文特定データ参照情報に対応する本文に書き戻し、書き戻された電子メールを端末20に送信する処理を行う。また、サーバ10は、ユーザのメールボックスに複数の電子メールが存在する場合には、電子メール毎に処理を行う。3.3.3その他サーバ10は、受信した電子メールの添付ファイルデータが、格納領域60例えば、特定領域80に既に格納された他の電子メールの本文と同じ場合には、受信した電子メールの当該添付ファイルデータを、特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納するようにしてもよい。また、サーバ10は、受信した電子メールの本文が、格納領域60例えば、特定領域80に既に格納された他の電子メールの添付ファイルデータと同じ場合には、受信した電子メールの当該本文を、特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納するようにしてもよい。例えば、サーバ10は、マルチパート形式の電子メールを受信した場合には、特定データそれぞれについて本文、各添付ファイルデータそれぞれについて、特定データが格納領域60例えば、特定領域80に既に格納された他の電子メールの特定データ添付ファイルデータ又は本文と同じか否かを判断する。そして、当該特定データが既に格納された他の電子メールの特定データと同じ場合には、受信した電子メールの当該特定データを、特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納するようにしてもよい。4.削除処理本実施形態のサーバ10は、格納領域60に格納されたデータを削除しないように制御してもよいし、格納領域60に格納されたデータを、所定条件下で削除するようにしてもよい。4.1電子メール参照情報に対応するリファレンス値に基づいて、電子メールを削除する手法例えば、サーバ10が、格納領域60に格納された電子メールを、所定条件下で削除する場合には、電子メール参照情報に対応づけてリファレンス値を設定し、リファレンス値を参照してデータの削除処理を行うことにより、誤って必要なデータを削除しないように制御する。4.1.1リファレンス値を設定する処理図14Aは、電子メール参照情報に対応するリファレンス値R1の一例を示す。例えば、一の電子メールに対応するリファレンス値R1は、当該電子メールの一部または全部が参照される数に相当する。例えば、R1値が0の場合は参照されていない状態を示し、R1値が1以上である場合には、1以上の電子メールによって参照されている状態を示す。まず、サーバ10は、宛先数に応じてR1値を設定する。例えば、図3に示すように、電子メール参照情報001に、2つの宛先が指定されている場合には、電子メール参照情報001のR1値を2に設定する。また、図6に示すように、電子メール002に1つの宛先が指定されている場合には、電子メール参照情報002のR1値を1に設定する。つまり、サーバ10は、電子メール参照情報のR1値が、電子メールの宛先数以上になるように設定する。また、電子メールの本文の全部又は一部である特定データ本文又は添付ファイルデータが他の電子メールから参照される場合、当該参照される側の電子メールのR1値を参照数に応じて増加させる。例えば、特定データ参照情報に書き換える数に応じて、特定データ参照情報に対応するR1値を1増加させるインクリメントさせる。具体的には、図6に示すように、電子メールM3の添付ファイルデータF1を特定データ参照情報002-1に書き換える場合に、電子メール参照情報002に対応するR1値を1増加させる。また、図12に示すように、電子メールM7の本文を特定データ参照情報006-Bに書き換える場合には、電子メール参照情報006のR1値を1増加させる。なお、図9、10に示すような例についても、同様に処理を行う。4.1.2リファレンス値に基づく電子メールの削除処理本実施形態のサーバ10は、端末20に電子メール参照情報に対応する電子メールの送信処理が正常終了した後に、電子メール参照情報に対応するR1値を1減少させるデクリメントさせる処理を行う。また、電子メールに特定データ参照情報を含む場合には、特定データ参照情報を、本文又は添付ファイルデータに書き戻す都度、参照先の電子メールのR1値を1減少させるデクリメントさせる。例えば、図3のT1時点後、サーバ10が、電子メール参照情報001に対応するR1値が2である状態で、userAaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userAaaa.comの端末20から電子メール参照情報001に対応する電子メールM1の送信処理を正常終了した後に、電子メール参照情報001に対応するR1値を1減少させる。つまり、電子メール参照情報001に対応するR1値を2から1に更新する。その後、サーバ10が、userBaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userBaaa.comの端末20から電子メール参照情報001に対応する電子メールM1の送信処理を正常終了した後に、電子メール参照情報001に対応するR1値を1減少させる。例えば、電子メール参照情報001に対応するR1値を1から0に更新する。また、図6のT3時点後、サーバ10が、電子メール参照情報002に対応するR1値が2、電子メール参照情報003に対応するR1値が1である状態で、userAaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userAaaa.comの端末20から電子メール参照情報002に対応する電子メールM2の送信処理を正常終了した後に、電子メール参照情報002に対応するR1値を1減少させる。つまり、電子メール参照情報002に対応するR1値を2から1に更新する。その後、サーバ10が、userBaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userBaaa.comの端末20から電子メール参照情報003に対応する電子メールM3の特定データ参照情報002-1を元の特定データ添付ファイルデータF1に書き戻し、当該電子メールM3の送信処理を正常終了した後に、電子メール参照情報003に対応するR1値を1減少させる。つまり、003に対応するR1値を1から0に更新する。また、特定データ参照情報002-1に基づき、参照先の電子メール参照情報002に対応するR1値を1減少させる。つまり、電子メール参照情報002に対応するR1値を1から0に更新する。なお、図9、10、12等の例についても、同様に処理を行う。そして、サーバ10は、最終的に、R1値が0である電子メール参照情報に対応する電子メールを、参照されていない電子メールとみなし、当該電子メールを特定領域80広義には格納領域60から削除する処理を行う。例えば、図3の例で、電子メール参照情報001のR1値が0になった場合には、特定領域80に格納された電子メールM1を削除する処理を行う。また、図6の例で、電子メール参照情報002のR1値が0になった場合には、特定領域80に格納された電子メールM2を削除する処理を行う。なお、図9、10、12等の例についても、同様に処理を行う。なお、サーバ10は、R1値を更新する度に、当該R1値が0になったか否かを判断し、R1値が0になったと判断した場合に、電子メールを特定領域80から削除してもよいし、特定の削除タイミング例えば、毎日の午前2時に、電子メール参照情報のR1値が0である電子メールを削除するようにしてもよい。なお、サーバ10は、端末20からサーバ10側に電子メールを保存する要求情報を受け付けた場合には、R1値を減少させないように制御するようにしてもよい。以上のように、本実施形態のサーバ10は、保存する必要のない電子メールを削除することができるので、格納領域60の無駄な使用を削減し、格納領域60を有効に利用することができる。また、サーバ10は、リファレンス値に基づき削除処理を行うので、処理負荷を抑えて削除処理の判別を行うことができる。4.2特定データ参照情報に対応するリファレンス値に基づいてデータを削除する手法本実施形態のサーバ10は、特定データ参照情報に対応するリファレンス値R2値を設定し、特定データ添付ファイルデータ、本文の削除処理を行うようにしてもよい。例えば、図11、13の処理例については、特定データ参照情報に対応するリファレンス値に基づいてデータを削除する。4.2.1リファレンス値を設定する処理図14Bは、特定データ参照情報に対応するリファレンス値R2の一例を示す。例えば、リファレンス値R2は、特定データを参照する数に相当する。例えば、R2値が0の場合は参照されていない状態を示し、R2値が1以上である場合には、1以上の電子メールによって参照されている状態を示す。例えば、サーバ10は、添付ファイルデータ又は本文を特定データ参照情報に書き換える度に、R2値を1増加させるインクリメントさせる。具体的には、図11に示すように、添付ファイルデータを特定データ参照情報002-1に書き換える場合に、特定データ参照情報002-1に対応するR2を1増加させる。また、図13に示すように、電子メールR7の本文を特定データ参照情報006-Bに書き換える場合に、006-Bに対応するR2を1増加させる。4.2.2リファレンス値に基づく特定データの削除処理本実施形態のサーバ10は、端末20からの受信要求があり、電子メール参照情報に対応する電子メールの送信処理が正常終了した後に、特定データ参照情報に対応するR2値を1減少させるデクリメント処理を行う。例えば、図11のT3時点後、サーバ10が、特定データ参照情報002-1に対応するR2値が2である状態で、userAaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userAaaa.comのメールボックスにある電子メールM2の特定データ参照情報002-1を添付ファイルデータF1に書き戻し電子メールM2の送信処理を正常終了した後に、特定データ参照情報002-1に対応するR2値を1減少させる。つまり、特定データ参照情報002-1に対応するR2値を2から1に更新する。その後、サーバ10が、userBaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userBaaa.comのメールボックスにある電子メールM3の特定データ参照情報002-1を添付ファイルデータF1に書き戻し電子メールM3の送信処理を正常終了した後に、特定データ参照情報002-1に対応するR2値を1減少させる。つまり、特定データ参照情報002-1に対応するR2値を1から0に更新する。また、図13のT7時点後、サーバ10が、特定データ参照情報006-Bに対応するR2値が2である状態で、userAaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userAaaa.comのメールボックスにある電子メールM6の特定データ参照情報006-Bを本文B1に書き戻して電子メールM6の送信処理を正常終了した後に、特定データ参照情報006-Bに対応するR2値を1減少させる。つまり、特定データ参照情報006-Bに対応するR2値を2から1に更新する。その後、サーバ10が、userBaaa.comの端末20から受信要求を受け付けたとする。すると、サーバ10は、userBaaa.comのメールボックスにある電子メールM7の特定データ参照情報006-Bを本文B1に書き戻して電子メールM7の送信処理を正常終了した後に、特定データ参照情報006-Bに対応するR2値を1減少させる。つまり、特定データ参照情報006-Bに対応するR2値を1から0に更新する。そして、サーバ10は、最終的に、R2値が0である特定データ参照情報に対応する特定データ本文又は添付ファイルデータを、参照されていない特定データとみなし、当該特定データを特定領域80広義には格納領域60から削除する処理を行う。例えば、図11の例で、特定データ参照情報002-1のR2値が0になった場合には、特定領域80に格納された添付ファイルデータF1を削除する処理を行う。また、図13の例で、特定データ参照情報006-BのR2値が0になった場合には、特定領域80に格納された本文B1を削除する処理を行う。なお、サーバ10は、R1値に基づく電子メールの削除処理と同じように、R2値を更新する度に、当該R2値が0になったか否かを判断し、R2値が0になったと判断した場合に、電子メールを特定領域80から削除してもよいし、特定の削除タイミング例えば、毎日の午前2時に、特定データ参照情報のR2値が0である電子メールを削除するようにしてもよい。なお、サーバ10は、端末20からサーバ10側に電子メールを保存する要求情報を受け付けた場合には、R2値を減少させないように制御するようにしてもよい。以上のように、本実施形態のサーバ10は、保存する必要のない特定データ本文又は添付ファイルデータを削除することができるので、格納領域60の無駄な使用を削減し、格納領域60を有効に利用することができる。また、サーバ10は、リファレンス値に基づき削除処理を行うので、処理負荷を抑えて削除処理の判別を行うことができる。4.3その他なお、サーバ10は、電子メールが削除される際に、当該電子メールの参照情報とそのリファレンス値R1を削除してもよい。また、サーバ10は、特定データが削除される際に、当該特定データの参照情報とそのリファレンス値R2を削除し、ハッシュテーブルTBから当該特定データの参照情報とハッシュ値とを削除するようにしてもよい。また、上記削除処理は一例であり、サーバ10は、種々の態様で電子メールや特定データの削除処理を行うようにしてもよい。5.フローチャート5.1格納処理の流れサーバ10が、サーバ10管理下のユーザを宛先とする電子メールを受信した場合、当該電子メールを格納領域60に格納する処理の一例について、図15A、図15Bを用いて、説明する。なお、R1値の初期値は0である。また、下記処理の流れは添付ファイルデータを特定データとし、当該添付ファイルデータを特定データ参照情報に書き換えて格納する処理の一例である。まず、受信した電子メールの参照情報を決定する処理を行うステップS10。そして、電子メールが添付ファイルデータを有する否かを判断するステップS11。電子メールが添付ファイルデータを有しない場合ステップS11のN、特定領域80に受信した電子メールを格納するステップS12。次に、各宛先のメールボックスに電子メール参照情報を格納するステップS13。そして、電子メール参照情報に対応するR1値を宛先数分インクリメントするステップS14。一方、電子メールが添付ファイルデータを有する場合ステップS11のY、添付ファイルに対応する特定データ参照情報を決定する処理を行うステップS15。そして、添付ファイルデータのハッシュ値を求めるステップS16。次に、ハッシュ値がハッシュテーブルに登録済みか否かを判断するステップS17。ハッシュ値がハッシュテーブルに登録済みステップS17のYの場合、添付ファイルデータが実在するか否かを判断するステップS18。そして、添付ファイルデータが実在しない場合ステップS18のNは、ステップS24に進む。そして、添付ファイルデータが実在する場合ステップS18のYは、各宛先のメールボックスに電子メール参照情報を格納するステップS19。そして、電子メールの添付ファイルデータを、特定データ参照情報に書き換えて、特定領域に格納するステップS20。そして、受信した電子メールの電子メール参照情報に対応するR1値を宛先数分インクリメントするステップS21。そして、参照先の電子メールの電子メール参照情報に対応するR1値を宛先数分インクリメントするステップS22。一方、ハッシュ値がハッシュテーブルに登録済みでない場合ステップS17のNには、ハッシュ表のハッシュ値を特定データ参照情報に対応づけて登録するステップS23。そして、添付ファイルデータを特定領域に格納するステップS24。そして、各宛先のメールボックスに電子メール参照情報を格納するステップS25。そして、電子メールを特定領域に格納するステップS26。そして、受信した電子メールの電子メール参照情報に対応するR1値を宛先数分インクリメントするステップS27。以上で処理が終了する。5.2送信処理の流れ次に、図16を用いて、サーバ10が、端末20から受信要求に応じて、端末20に電子メールを送信する処理の一例について説明する。まず、端末20から受信要求がある場合ステップS30のYであって、かつ、ユーザ認証が認められた場合ステップS31のYに、ユーザのメールボックスから電子メール参照情報を取得するステップS32。そして、特定領域から電子メール参照情報に対応する電子メールを取得するステップS33。そして、電子メールに特定データ参照情報が含まれるか否かを判断するステップS34。電子メールに特定データ参照情報が含まれない場合ステップS34のNは、電子メールに対し、固有情報を付加して送信用の電子メールを生成するステップS35。そして、生成された電子メールを要求のあった端末20に送信する処理を行うステップS36。そして、送信済みの電子メールのR1値をデクリメントするステップS37。一方、電子メールに特定データ参照情報が含まれる場合ステップS34のYは、特定データ参照情報を添付ファイルデータに書き戻す処理を行うステップS38。そして、電子メールに対し、固有情報を付加して送信用の電子メールを生成するステップS39。そして、生成された電子メールを要求のあった端末20に送信する処理を行うステップS40。そして、送信済みの電子メールのR1値をデクリメントするステップS41。そして、参照元の電子メールのR1値をデクリメントする処理を行うステップS42。以上で処理が終了する。6.複数のドメインを管理する場合本実施形態のサーバ10は、一つのドメイン例えば、aaa.comを管理する例について説明したが、サーバ10は、複数のドメイン例えば、aaa.com、bbb.co.jpを管理するようにしてもよい。例えば、サーバ10は、複数のドメインそれぞれについて別個独立した格納領域を設け、電子メールの格納処理、送信処理を行うようにしてもよい。より具体的に説明すると、サーバ10は、aaa.comの格納領域60-1と、bbb.co.jpの格納領域60-2を設け、aaa.comをドメインとする電子メールについては、格納領域60-1を用いて格納処理と送信処理を行い、bbb.co.jpをドメインとする電子メールについては、格納領域60-2を用いて格納処理と送信処理を行う。なお、サーバ10は、複数のドメイン間で格納領域を共有して電子メールの格納処理を行うようにしてもよい。例えば、サーバ10は、受信した電子メールの特定データが、既に格納領域に格納された他のドメインの電子メールの特定データと同じ場合には、受信した電子メールの特定データを特定データ参照情報に書き換えて格納してもよい。そして、当該電子メールを送信する際に、特定データ参照情報を特定データに書き戻して送信するようにしてもよい。より具体的に説明すると、サーバ10は、受信した電子メールM8の宛先がuserAbbb.co.jpであって、電子メールM8の添付ファイルデータF1特定データの一例が、特定領域80広義には格納領域60に既に格納されたuserAaaa.comを宛先とする電子メールM2に含まれる添付ファイルデータF1と同じ場合には、電子メールM8の添付ファイルデータF1を、特定データ参照情報002-1に書き換え、書き換え後の電子メールM8を特定領域80に格納する処理を行う。そして、サーバ10は、例えば、端末20からドメインbbb.co.jpのuserAの電子メール受信要求を受け付けた場合には、特定領域80から読み出した電子メールM8の特定データ参照情報002-1に対応する添付ファイルデータF1に書き戻し、書き戻された電子メールM8を端末に送信する処理を行う。また、サーバ10は、ドメインが異なる複数の宛先が指定された電子メールを受信した場合に、各宛先の各メールボックスに電子メール参照情報を格納すると共に、格納領域に受信した一の電子メールを格納するようにしてもよい。例えば、サーバ10は、userAaaa.comuserAbbb.co.jpが指定された電子メールM9を受信した場合には、各宛先に対応する各ユーザのメールボックスに、受信した電子メールM9に対応する電子メール参照情報例えば、009を格納すると共に、一の当該電子メールM9を特定領域80広義には格納領域60に格納する処理を行う。そして、サーバ10は、例えば、端末20からドメインbbb.co.jpのuserAの電子メール受信要求を受け付けた場合には、bbb.co.jpのuserAのメールボックスに格納された電子メール参照情報009に基づき、電子メールM9を特定領域80から読み出し、読み出された電子メールM9を端末20に送信する処理を行う。以上のように、本実施形態では、サーバ10が複数のドメインを管理する場合において、格納領域を更に節約することができる。7.復号化処理の説明オリジナルのデータがバイナリデータである添付ファイルデータ例えば、画像データ等は、電子メールにおいて、base64や、quoted-printableなどの種々の符号化方式によって符号化エンコードされている。したがって、符号化方式が異なるが、元来同じ内容のデータを重複して格納領域に保存してしまうことがある。そこで、本実施形態のサーバ10は、受信した電子メールの符号化された特定データを復号化デコードし、復号化された特定データに基づいて処理を行うようにしてもよい。つまり、復号化された特定データが、既に格納領域60例えば、特定領域80に格納されているか否かを判断する処理を行うようにしてもよい。例えば、サーバ10は、受信した電子メールの復号化された特定データが格納領域60に既に格納された他の電子メールに含まれていない場合、つまり、復号化された特定データのハッシュ値がハッシュテーブルTBに登録されていない場合には、当該ハッシュ値を、復号化された特定データの特定データ参照情報に対応付けて登録し、格納領域60に、電子メールを格納する。なお、この電子メールの特定データは復号化の状態で格納する。一方、サーバ10は、受信した電子メールの復号化された特定データが格納領域60に既に格納された他の電子メールに含まれている場合、つまり、復号化された特定データのハッシュ値がハッシュテーブルTBに登録されている場合には、当該特定データを、ハッシュ値に対応する特定データ参照情報に書き換え、書き換え後の電子メールを格納領域60に格納する処理を行う。なお、サーバ10は、特定データを復号化する際に、メール受信時の特定データの符号化方式を記憶し、端末20に電子メールを送信する際には、特定データの符号化方式を参照して当該特定データを符号化してから送信する。なお、サーバ10は、復号化の処理を行う場合には次のように処理する。まず、電子メールがシングルパート形式の場合は、ヘッダのContent-Transfer-Encodingを参照して符号化方式を検出し、符号化方式に応じて本文を復号化する。例えば、符号化方式がbase64であれば、base64に基づく復号化処理を行い、符号化方式がquoted-printableであれば、quoted-printableに基づく復号化処理を行う。また、電子メールがマルチパート形式の場合は、パートヘッダのContent-Transfer-Encodingを参照して符号化方式を検出し、符号化方式に応じてパートデータを復号化する。このようにすれば、符号化方式のみが異なるがオリジナルのデータが同一の特定データについて重複して記憶する必要がなくなるので、記憶領域の節約を図ることができる。"