(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
電子メールを送信する場合に、TO、CC(Carbon Copy)、BCC(Blind Carbon Copy)等を用いて、2以上の宛先に対する、同一の内容(同一のメール本文)の電子メール(以下、「同報メール」と呼ぶ)を送信することは一般的である。
【0003】
以下、
図2、
図3、
図4、
図5を参照しながら、2以上の宛先への同報メールを送信する処理について、詳細に説明する。
【0004】
図2は、電子メールの構造の一例を示す図である。電子メールは、例えば、
図2に示す情報を含んで構成される。具体的には、電子メールは、ヘッダ部と、メール本文とを含んで構成される。また、添付ファイルが存在する場合には、電子メールは、ヘッダ部と、複数のテキスト文書と添付ファイルを1つにまとめたデータ、とを含んで構成される。ヘッダ部は、
図2(a)に示す通り、送信先アドレス(To、Cc、Bcc)、送信元アドレス(From)、各メールに付加された固有の情報(メッセージID(Message-ID))、表題(Subject)、メール本文の形式(Content-Type)等を含んで構成される。メール本文は、
図2(b)に示す情報と、メール内容とを含んで構成される。
【0005】
図3は、
図2に示す構成で作成された電子メールの一例を示す。
図3は、宛先「To:kobe@example.xxx.jp、Cc:kyoto@example.xxx.jp、Bcc:osaka@example.xxx.jp」に対する電子メールの一例を示す。
【0006】
図4は、電子メールの送受信の一例を示すブロック図である。まず、ユーザが、メールソフト3200を用いて、
図3に示すメール3100を作成し、送信処理を実行したとする。その場合、メールソフト3200を制御する端末装置は、メール3100をSMTP(Simple Mail Transfer Protocol)で、xxx.example.amのメールサーバ3300に送信する。ここで、xxx.example.amは、送信元メールサーバのドメイン名であるとする。
【0007】
xxx.example.amのメールサーバ3300は、送信先のメールサーバを判定する機能(
図4に示す送信先メールサーバ判定機能3310)を備える。送信先メールサーバ判定機能3310は、受信メールのヘッダ部を解析し、送信先のメールサーバを判定する。ここで、送信先のメールアドレスの「@」に続く文字列は、送信先のメールサーバ名を示す。例えば、
図3に示す電子メールの場合、送信先のメールアドレスの「@」以降の文字列は、「example.xxx.jp」である。そのため、送信先のメールサーバが、example.xxx.jpのメールサーバ3400である、と送信先メールサーバ判定機能3310は判定する。
【0008】
ここで、
図3に示す通り、xxx.example.amのメールサーバ3300は、example.xxx.jpのメールサーバ3400に、受信したメール3100を1通、送信する。
【0009】
example.xxx.jpのメールサーバ3400は、1通のメール3100を、メール3410として受信する。example.xxx.jpのメールサーバ3400は、メール3410のヘッダ部を解析する。具体的には、example.xxx.jpのメールサーバ3400は、メール3410のヘッダ部の「To、Cc、Bcc」に続く文字列として、kobe@example.xxx.jp、kyoto@example.xxx.jp、osaka@example.xxx.jpを読み取る。ここで、送信先のメールアドレスの「@」より前の文字列が、送信先のメールボックス名である。そのため、メール3410において、送信先のメールボックスが、kobeのメールボックス3501、kyotoのメールボックス3502、osakaのメールボックス3503である、とexample.xxx.jpのメールサーバ3400は判断する。そして、example.xxx.jpのメールサーバ3400は、kobeのメールボックス3501、kyotoのメールボックス3502、osakaのメールボックス3503に、夫々、メール3511、メール3512、メール3513として、メール3410を格納する。
【0010】
ここで、例えば、osaka@example.xxx.jpに対応するメールソフト3600が、メール受信処理を実行したとする。その場合、メールソフト3600を制御する端末装置は、POP3(Post Office Protocol 3)等を用いて、example.xxx.jpのメールサーバ3400に、メール要求を送信する。具体的には、メールソフト3600を制御する端末装置は、example.xxx.jpのメールサーバ3400にosaka@example.xxx.jpの電子メールの送信を要求する、メール要求を送信する。example.xxx.jpのメールサーバ3400は、メール要求に基づいて、osakaのメールボックス3503にアクセスし、メール3513を抽出する。そして、example.xxx.jpのメールサーバ3400は、POP3等を用いて、メール3513を、メールソフト3600を制御する端末装置に送信する。メールソフト3600を制御する端末装置は、メール3513を、メール3700として受信し、保存する。
【0011】
図5は、2以上の宛先への同報メールを送信する場合に、メールボックスに格納する処理の一例を示すブロック図である。
【0012】
例えば、
図5に示すa.b.cのメールサーバ4000(以下、メールサーバ4000と呼ぶ)が電子メールを受信したとする。メールサーバ4000が受信する電子メールは、ヘッダ部4100と、メール本文4101と、添付ファイル4102とを含んで構成される。ヘッダ部4100は、送信先メールアドレス「1@a.b.c、2@a.b.c」を含む。
【0013】
メールサーバ4000は、1@a.b.cのメールボックス4310と、2@a.b.cのメールボックス4410に、受信メールを格納する。その結果、メールサーバ4000は、1@a.b.cのメールボックス4310と、2@a.b.cのメールボックス4410とに、同一の電子メール(受信した電子メール)を格納する。具体的には、メールサーバ4000は、1@a.b.cのメールボックス4310と、2@a.b.cのメールボックス4410に、ヘッダ部4300、メール本文4301、添付ファイル4302を格納する。ヘッダ部4300、メール本文4301、添付ファイル4302は、受信メールのヘッダ部4100、メール本文4101、添付ファイル4102に相当するものとする。
【0014】
特許文献1において、メール送信端末と、メールゲートウェイ(特許文献1に記載のメールGW)と、メールサーバと、コンテンツサーバと、メール受信端末とを備える電子メールシステムが記載されている。特許文献1に記載のメールGWは、ヘッダ部と、メール本文と、添付ファイルのデータとに、受信メールを分離する。そして、特許文献1に記載のメールサーバは、ヘッダ部とメール本文とを含んで構成される電子メールを格納する。また、特許文献1に記載のコンテンツサーバは、添付ファイルのデータを格納する。そして、特許文献1に記載のコンテンツサーバは、添付ファイルのデータと、メッセージIDとを対応付けて管理する。
【発明を実施するための形態】
【0026】
初めに、
図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図面において、ブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
【0027】
上述の通り、管理する電子メールのデータサイズの増大を抑制し、効率的に電子メールを管理することに貢献するメールサーバ装置が望まれる。
【0028】
そこで、一例として、
図1に示すメールサーバ装置1を提供する。メールサーバ装置1は、メール受信手段2と、メールヘッダ解読手段3と、第1の記憶領域4と、第2の記憶領域5とを含んで構成される。
【0029】
メールヘッダ解読手段3は、メール受信手段2が電子メールを受信した場合、メール本文を含む共有メール情報31と、ヘッダ部32とに、受信メールを分離する。ここで、受信メールは、共有メール情報61と、ヘッダ部62とを含んで構成される。共有メール情報は、メール本文であっても良い。または、受信メールが添付ファイルを含む場合には、共有メール情報は、メール本文と、添付ファイルとを含んで構成されても良い。なお、共有メール情報31は、受信メールの共有メール情報61に相当するものとする。また、ヘッダ部32は、受信メールのヘッダ部62に相当するものとする。そして、ヘッダ部32、及びヘッダ部62は、電子メールを識別するメッセージID(Identification)を含む。
【0030】
メールサーバ装置1は、1又は2以上の第1の記憶領域4を含んで構成されても良い。第2の記憶領域5は、電子メールの宛先毎に異なる記憶領域である。メールサーバ装置1は、1又は2以上の第2の記憶領域5を含んで構成される。第2の記憶領域5は、ユーザ毎のメールボックスとして構成されても良い。
【0031】
メールヘッダ解読手段3は、第1の記憶領域4に、受信メールの共有メール情報31を格納し、受信メールの宛先毎の第2の記憶領域5に、受信メールのヘッダ部32を格納する。なお、
図1に示す共有メール情報41は、
図1に示す共有メール情報31に相当するものとする。また、
図1に示すヘッダ部51は、
図1に示すヘッダ部32に相当するものとする。
【0032】
例えば、メール受信手段2が、2以上の宛先への同報メールを受信したとする。その場合、メールヘッダ解読手段3は、当該受信メールのメール本文を含む、メール共有情報を第1の記憶領域4に格納する。また、メールヘッダ解読手段3は、各宛先に対応する第2の記憶領域5に、当該受信メールのヘッダ部を格納する。そのため、メールサーバ装置1は、2以上の宛先への同報メールを受信した場合であっても、2以上のメールボックスに、同一データの電子メールを、重複して格納することを回避できる。従って、メールサーバ装置1は、管理する電子メールのデータサイズの増大を抑制し、効率的に電子メールを管理することに貢献する。
【0033】
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。なお、以下の説明では、上記の第1の記憶領域を、共有メール格納部と呼ぶ。また、上記の第2の記憶領域は、所謂、個人メールボックスに相当するものとする。なお、電子メールが添付ファイルを含まない場合には、本書で説明する処理において、添付ファイルを除外することは勿論である。なお、以下の説明において、メール本文とは、メール本文の文字情報、及びメール本文として挿入される画像等を含むものとする。
【0034】
図6は、本実施形態に係るメールサーバ装置10の全体構成の一例を示すブロック図である。
【0035】
メールサーバ装置10は、メール受信手段200と、メールヘッダ解読手段300と、メッセージIDデータベース400と、共有メール格納部500と、個人メールボックス600と、メール要求受付手段700と、を含んで構成される。
【0036】
図6に示すメールサーバ装置10の各構成要素は、同一機器内に構成されても良い。あるいは、
図6に示すメールサーバ装置10の構成要素のうち、少なくとも一の構成要素は、他の機器に構成されても良い。その場合、インターネット等のネットワークを介して、他の構成要素と接続しても良い。なお、ネットワークを実現する方式は各種あるが、本書で説明する機能を実現できれば良く、その詳細は問わない。
【0037】
具体的には、メールサーバ装置10は、1又は2以上のコンピュータが備える通信装置、制御部(CPU(Central Processing Unit))、記憶装置を用いて実現される。記憶装置は、磁気ディスク装置や光ディスク装置、半導体メモリ、等によって実現される。なお、半導体メモリは、例えば、SSD(ソリッドステートドライブ、Solid State Drive)であり、フラッシュメモリを使用したものでも良く、DRAM(ダイナミック・ランダム・アクセス・メモリ、Dynamic Random Access Memory)を含んでも良い。また、メールサーバ装置10は、1又は2以上のコンピュータに、そのハードウェアを用いて、各処理を実行させるコンピュータプログラムにより実現しても良い。
【0038】
メールサーバ装置10が備える、1又は2以上の記憶装置は、電子メールのメッセージID毎に異なる第1の記憶領域(共有メール格納部500)と、電子メールの宛先毎に異なる第2の記憶領域(個人メールボックス600)とを備える。さらに、メールサーバ装置10が備える記憶装置は、メッセージIDと、共有メール情報の格納場所を特定する情報と、ヘッダ部の格納場所を特定する情報とを対応付けて格納する、第3の記憶領域を備える。なお、共有メール格納部500(第1の記憶領域)と、個人メールボックス600(第2の記憶領域)と、第3の記憶領域とは、同一の記憶装置に構成されても良い。あるいは、共有メール格納部500(第1の記憶領域)、個人メールボックス600(第2の記憶領域)、第3の記憶領域は、夫々、異なる記憶装置に構成されても良い。
【0039】
<メール受信手段200>
メール受信手段200は、メールサーバ装置10とは異なるメールサーバ(以下、「他メールサーバ100」と呼ぶ。)と、インターネット等のネットワークを介して接続する。具体的には、メール受信手段200は、ネットワークと接続する通信装置を含んで構成される。そして、メール受信手段200は、他メールサーバ100から、SMTPで送信された、電子メールを受信する。そして、メール受信手段200は、受信した電子メール(以下、単に「電子メール」とも呼ぶ。)を、メールヘッダ解読手段300に送信する。
【0040】
<メールヘッダ解読手段300>
メールヘッダ解読手段300は、メール本文を含む共有メール情報と、ヘッダ部とに、電子メールを分離する。ここで、共有メール情報は、メール本文を少なくとも含む情報であり、メール本文と、添付ファイルとを含んで構成されても良い。つまり、
図6に示す通り、メールヘッダ解読手段300は、ヘッダ部301と、メール本文302と、添付ファイル303とに、電子メールを分離する。メールヘッダ解読手段300は、例えば、CPUを用いて実現しても良い。
【0041】
そして、メールヘッダ解読手段300は、電子メールのメッセージIDに対応する、第1の記憶領域(共有メール格納部500)に、電子メールの共有メール情報を格納する。さらに、メールヘッダ解読手段300は、電子メールの宛先毎の第2の記憶領域(個人メールボックス600)に、電子メールのヘッダ部を格納する。
【0042】
<メッセージIDデータベース400>
図6に示す通り、メッセージIDデータベース400は、メッセージIDと、ヘッダ部と、メール本文と、添付ファイルとを対応付けた情報401を格納する。具体的には、メッセージIDデータベース400は、メッセージIDと、共有メール情報の格納場所を特定する情報と、ヘッダ部の格納場所を特定する情報とを対応付けた情報を、レコードとして格納する。なお、メッセージIDデータベース400は、2以上のメッセージIDを格納する場合、各メッセージIDに関して、メッセージIDと、共有メール情報の格納場所を特定する情報と、ヘッダ部の格納場所を特定する情報とを対応付けて格納する。なお、メッセージIDデータベース400は、1又は2以上のレコードを格納する、第3の記憶領域を含んで構成される。
【0043】
図7は、メッセージIDデータベース400に格納されるレコードのデータ構造を示す図である。
【0044】
共有メール情報の格納場所を特定する情報とは、共有メール格納部500の場所を特定する情報である。つまり、共有メール情報の格納場所を特定する情報とは、メール本文、及び添付ファイルの保存先を示す情報である。例えば、共有メール情報が格納される場所を特定する情報は、メール本文、添付ファイルの格納先のファイルパス等であっても良い。ここで、共有メール情報が格納される場所を特定する情報は、格納したメール本文、添付ファイルに、格納後にアクセス可能になる情報であれば良く、その詳細は問わない。
【0045】
また、ヘッダ部の格納場所を特定する情報とは、個人メールボックス600を特定する情報(以下、「個人メールボックス情報」とも呼ぶ)である。例えば、個人メールボックス情報は、電子メールのヘッダ部の送信先アドレス(To、Cc、Bccで指し示すメールアドレス)であっても良い。
【0046】
また、メッセージIDデータベース400は、格納するレコードを制御する機能を有するものとする。具体的には、メッセージIDデータベース400は、メッセージIDが、重複して存在しない状態を維持する機能を有する。
【0047】
メッセージIDデータベース400は、メール要求受付手段700からの検索要求に対して、格納するレコードを抽出し、検索要求元に返信する。また、メッセージIDデータベース400は、検索、結果応答、情報更新、情報の削除等の機能を有する。
【0048】
<共有メール格納部500>
上記の通り、共有メール格納部500は、電子メールのメッセージID毎に異なる記憶領域を含んで構成されるものとする。共有メール格納部500は、電子メールの共有メール情報を格納する。具体的には、共有メール格納部500は、電子メールのメール本文302と、添付ファイル303とを格納する。さらに、共有メール格納部500は、記憶領域を含むとともに、当該記憶領域に対する、情報の読み書きを実行する機能を有するものとする。
【0049】
<個人メールボックス600>
個人メールボックス600は、電子メールのヘッダ部(
図6に示すヘッダ部301)を格納する。さらに、個人メールボックス600は、記憶領域を含むともとに、当該記憶領域に対する、情報の読み書きを実行するものとする。
【0050】
上記の通り、個人メールボックス600は、電子メールの宛先毎に異なる記憶領域を含んで構成されるものとする。つまり、電子メールの受信者毎に異なる記憶領域が、個人メールボックスを構成する記憶領域として、割り当てられるものとする。
【0051】
例えば、1つのメッセージIDに対応する電子メールが、2以上の宛先に対する電子メールであるとする。その場合、メールヘッダ解読手段300は、各宛先に対応する個人メールボックス600に、夫々、当該電子メールのヘッダ部301を格納する。そして、メールヘッダ解読手段300は、当該メッセージIDに対応する共有メール情報、具体的には、電子メールのメール本文302と、添付ファイル303、を、共有メール格納部500に格納する。
【0052】
<メール要求受付手段700>
メール要求受付手段700は、メーラアプリケーションプログラム(以下、受信者メールソフト800とも呼ぶ)を制御する端末装置と、インターネット等のネットワークを介して接続する。具体的には、メール要求受付手段700は、ネットワークと接続する通信装置を含んで構成される。そして、メール要求受付手段700は、受信者メールソフト800がPOP3等で送信した、メール要求、又はメール削除要求を受信する。以下の説明において、メール要求とは、電子メールのヘッダ部と、メール本文と、添付ファイルとを入手する要求を意味する。また、以下の説明において、メール削除要求とは、受信済みの電子メールのヘッダ部と、メール本文と、添付ファイルとを削除する要求を意味する。なお、メール受信手段200と、メール要求受付手段700とは、同一の通信装置を用いて実現しても良い。あるいは、メール受信手段200と、メール要求受付手段700とは、異なる通信装置を用いて実現しても良い。さらに、メール要求受付手段700は、CPUを用いて、本書で説明する処理を実現しても良い。
【0053】
次に、メールヘッダ解読手段300について、詳細に説明する。
【0054】
メールヘッダ解読手段300は、受信メールのヘッダ部301から、メッセージIDを取得する。そして、取得したメッセージIDがメッセージIDデータベース400に格納されているか否かを、メールヘッダ解読手段300は判断する。
【0055】
取得したメッセージIDが、メッセージIDデータベース400に格納されていないとする。その場合、メールヘッダ解読手段300は、メッセージIDと、共有メール情報の格納場所を特定する情報と、第2の記憶領域(個人メールボックス)を特定する情報とを対応付けたレコードを、作成する。ここで、特定される個人メールボックス600は、取得したメッセージIDに対応するヘッダ部のうち、一の宛先に対応するものとする。そして、メールヘッダ解読手段300は、作成したレコードを、メッセージIDデータベース400に登録する。
【0056】
一方、取得したメッセージIDが、メッセージIDデータベース400に格納されているとする。その場合、取得したメッセージIDに対応するレコードが、メッセージIDデータベース400に登録されていることを意味する。そこで、
メールヘッダ解読手段300は、取得したメッセージIDに対応するレコードを特定する。そして、
メールヘッダ解読手段300は、電子メールの宛先に対応する第2の記憶領域(個人メールボックス)を特定する情報を、特定したレコードに追加する。ここで、特定される個人メールボックス600は、メッセージIDに対応するヘッダ部のうち、前記一の宛先と異なる、他の宛先に対応するものとする。
【0057】
次に、メール要求受付手段700が、メール要求を受信した場合について詳細に説明する。
【0058】
メール要求受付手段700は、メール要求を受信した場合、メール要求元に対応する第2の記憶領域(個人メールボックス600)から、ヘッダ部301を取得する。具体的には、メール要求受付手段700は、メール要求元(即ち、電子メールの受信者)を識別し、アクセス対象の個人メールボックス600を特定する。そして、メール要求受付手段700は、特定した個人メールボックス600にアクセスし、当該個人メールボックス600に格納されているヘッダ部301を取得する。
【0059】
なお、メール要求受付手段700は、特定した個人メールボックス600に対して、アクセス可能な状態であるとする。そのため、メール要求受付手段700は、個人メールボックス600がアクセス不可能な状態である場合には、当該
個人メールボックス600をアクセス可能な状態に遷移させるものとする。また、個人メールボックス600が、メール要求受付手段700とは、異なる機器に格納されている場合、メール要求受付手段700は、個人メールボックス600が格納されている機器等に接続する等の処理を実行する。
【0060】
そして、メール要求受付手段700は、取得したヘッダ部301に含まれるメッセージIDに基づいて、第1の記憶領域(共有メール格納部500)を特定し、共有メール情報、具体的には、電子メールのメール本文302と、添付ファイル303、を取得する。
【0061】
具体的には、メール要求受付手段700は、取得したヘッダ部301から、メッセージIDを取得(抽出)する。そして、メール要求受付手段700は、取得したメッセージIDを検索キーにして、メッセージIDデータベース400を検索し、レコードを取得(抽出)する。そして、メール要求受付手段700は、取得したレコードから、共有メール情報、具体的には、電子メールのメール本文302と、添付ファイル303、の格納場所(第1の記憶領域)を特定する情報を取得(抽出)する。そして、メール要求受付手段700は、特定した共有メール情報の格納場所にアクセスし、共有メール情報を取得する。つまり、メール要求受付手段700は、特定した共有メール情報の格納場所から、メール本文302、及び添付ファイル303を取得する。
【0062】
そして、メール要求受付手段700は、取得したヘッダ部301と、取得した共有メール情報、具体的には、電子メールのメール本文302と、添付ファイル303、とを結合し、電子メールを作成する。なお、以下の説明では、メール要求受付手段700が、取得したヘッダ部、取得したメール本文、取得した添付ファイルを、夫々、ヘッダ部701、メール本文702、添付ファイル703とも呼ぶ。
【0063】
そして、メール要求受付手段700は、作成した電子メールを、メール要求元に送信する。つまり、メール要求受付手段700は、受信者メールソフト800を制御する端末装置(以下、「クライアント端末」とも呼ぶ)に対して、作成した電子メールを送信する。例えば、メール要求受付手段700は、
図6に示すヘッダ部701と、メール本文702と、添付ファイル703とを含む電子メールを、クライアント端末に送信する。
【0064】
次に、メール要求受付手段700が、メール削除要求を受信した場合について詳細に説明する。
【0065】
メール要求受付手段700は、メール削除要求を受信した場合、メール削除要求に基づいて、ヘッダ部の格納場所、及び削除対象のヘッダ部を特定する。具体的には、メール要求受付手段700は、メール削除要求元の個人メールボックス600を特定する。そして、メール要求受付手段700は、特定した個人メールボックス600に格納されるヘッダ部301を特定する。
【0066】
そして、メール要求受付手段700は、削除対象のヘッダ部に含まれるメッセージID基づいて、メッセージIDデータベース400のレコードから、削除対象の個人メールボックス600を特定する情報を削除する。具体的には、メール要求受付手段700は、削除対象の各電子メールのヘッダ部に含まれる、メッセージIDを特定する。そして、メール要求受付手段700は、メッセージIDデータベース400のレコードを参照し、特定した各メッセージIDのレコードに記録している、個人メールボックス情報の、個人メールボックス600を特定する情報を削除する。
【0067】
そして、メール要求受付手段700は、特定した個人メールボックス600に格納されているヘッダ部301を削除する。
【0068】
そして、メール要求受付手段700は、メッセージIDデータベース400のレコードの個人メールボックス情報の、個人メールボックスを特定する情報に、何らかの情報が登録されているかを判定する。
【0069】
前記判定の結果、個人メールボックスを特定する情報が空の場合は、メール要求受付手段700は、メッセージIDデータベース400のレコードの、共有メール情報、具体的には、電子メールのメール本文302と、添付ファイル303、の格納場所を特定する。
【0070】
そして、メール要求受付手段700は、特定した共有メール情報、具体的には、電子メールのメール本文302と、添付ファイル303、を削除する。
【0071】
そして、メール要求受付手段700は、メッセージIDデータベース400のレコードを削除する。
【0072】
次に、本実施形態に係るメールサーバ装置10の動作について詳細に説明する。
【0073】
<メール受信>
まず、メールサーバ装置10が、電子メールを受信した場合の動作について、詳細に説明する。なお、以下の説明においては、メールサーバ装置10が、
図3に示す電子メールを受信した場合を例示し、説明する。つまり、以下の説明においては、メッセージIDが「20150610123456789@xxx.example.am」であり、宛先が「To:kobe@example.xxx.jp、Cc:kyoto@example.xxx.jp、Bcc:osaka@example.xxx.jp」の電子メールを受信した場合を例示し、説明する。なお、
図2に示す電子メールの構造、及び
図3に示す電子メールは、一例であり、本実施形態に係る電子メールを、
図2に示す構造、及び
図3に示す電子メールに限定する趣旨ではない。
【0074】
図8、
図9は、電子メールを受信した場合の動作の一例を示すフローチャートである。なお、初期状態では、メッセージID「20150610123456789@xxx.example.am」は、メッセージIDデータベース400に未登録であるとする。
【0075】
まず、メール受信手段200は、SMTPで、電子メールを受信したとする(
図8に示すステップA1)。例えば、メール受信手段200は、
図2に示す構造で作成された、
図3に示す電子メールを、SMTPで受信する。
【0076】
メール受信手段200は、電子メールを受信すると、メールヘッダ解読手段300に、受信メールを送信する(ステップA2)。つまり、メール受信手段200は、メールヘッダ解読手段300に、受信メールのデータを送信する。
【0077】
ステップB1において、メールヘッダ解読手段300は、メール受信手段200から、受信メールを受信する。ステップB2において、メールヘッダ解読手段300は、受信メールのヘッダ部を取得する。具体的には、メールヘッダ解読手段300は、電子メールの構造(例えば、
図2に示す構造)に基づいて、受信メールのヘッダ部を抽出する。そして、ステップB3において、メールヘッダ解読手段300は、ヘッダ部から、メッセージIDを抽出する。
【0078】
ステップB4において、メールヘッダ解読手段300は、メッセージIDを検索する。具体的には、メールヘッダ解読手段300は、抽出したメッセージIDを含むレコードを、検索する命令をメッセージIDデータベース400に送信する。換言すると、メールヘッダ解読手段300は、抽出したメッセージIDを検索キーとして、レコードを検索する命令を、メッセージIDデータベース400に送信する。
【0079】
ステップC1において、メッセージIDデータベース400は、検索を実行する。具体的には、メッセージIDデータベース400は、受信メールのメッセージIDを含むレコードを検索し、検索結果をメールヘッダ解読手段300に返す。
【0080】
ステップB5において、検索キーであるメッセージIDを含む、レコードが、メッセージIDデータベース400に格納されているか否かを、メールヘッダ解読手段300は判断する。
【0081】
ここで、検索キーがメッセージID「20150610123456789@xxx.example.am」であるとする。そして、メッセージID「20150610123456789@xxx.example.am」が、メッセージIDデータベース400に未登録であるとする。その場合、検索キーであるメッセージIDを含む、レコードが、メッセージIDデータベース400に格納されていない、とメールヘッダ解読手段300は判断する。
【0082】
検索キーであるメッセージIDを含む、レコードが、メッセージIDデータベース400に格納されていない場合(ステップB5のNo分岐)には、
図9に示すステップB8に遷移する。一方、検索キーであるメッセージIDを含む、レコードが、メッセージIDデータベース400に格納されている場合(ステップB5のYes分岐)には、ステップB6に遷移する。ステップB6以降の処理については、後述する。
【0083】
図9に示すステップB8において、メールヘッダ解読手段300は、新規のレコードを作成する。具体的には、メールヘッダ解読手段300は、メッセージIDが検索キーである、レコードを作成する命令を送信する。例えば、検索キーがメッセージID「20150610123456789@xxx.example.am」であるとする。その場合、メールヘッダ解読手段300は、メッセージID「20150610123456789@xxx.example.am」を含むレコードを作成する命令を、メッセージIDデータベース400に送信する。
【0084】
例えば、メッセージIDデータベース400は、
図10に示すように、メッセージIDと、共有メール格納部500の場所と、個人メールボックス情報とを対応付けるデータを、レコードとして作成しても良い。そして、メッセージIDデータベース400は、作成したデータに、メッセージID「20150610123456789@xxx.example.am」を登録しても良い(
図10参照)。なお、
図10、
図11、
図12、
図13において、テーブル形式のデータを示すが、レコードをテーブル形式に限定する趣旨ではない。レコードは、メッセージIDと、共有メール格納部500の場所と、個人メールボックス情報とが対応付けられた情報であれば良く、その詳細は問わない。
【0085】
そして、メールヘッダ解読手段300は、メール本文と、添付ファイルとを共有メール格納部500に格納する(ステップB9、ステップD1)。具体的には、メールヘッダ解読手段300は、電子メールの構造(例えば、
図2に示す構造)に基づいて、電子メールから、メール本文と、添付ファイルとを抽出する。そして、メールヘッダ
解読手段300は、抽出したメール本文と、添付ファイルとを、共有メール格納部500に格納する。ここで、メールヘッダ
解読手段300は、共有メール格納部500の空き領域に、抽出したメール本文と、添付ファイルとを格納するものとする。
【0086】
ステップB10において、メールヘッダ解読手段300は、共有メール格納部500の場所を特定する情報を、メッセージIDデータベース400に書き込む。具体的には、メールヘッダ解読手段300は、レコードに、共有メール格納部500の場所を特定する情報を書き込む命令を、メッセージIDデータベース400に送信する。上記の通り、共有メール格納部500の場所を特定する情報は、例えば、ファイルパス等であっても良い。共有メール格納部500の場所を特定する情報は、格納したメール本文、添付ファイルに、格納後にアクセス可能な情報であれば、その詳細は問わない。
【0087】
ステップC4において、メッセージIDデータベース400は、共有メール格納部500の場所を特定する情報を書き込む。具体的には、メッセージIDデータベース400は、メールヘッダ解読手段300が出した命令を受けて、レコードに、共有メール格納部500の場所を特定する情報を書き込む(
図11参照)。
【0088】
ステップB11において、メールヘッダ解読手段300は、メッセージIDデータベース400の個人メールボックス情報に、個人メールボックス600を特定する情報を追加する。具体的には、メールヘッダ解読手段300は、レコードに、個人メールボックス600を特定する情報を追加する命令を、メッセージIDデータベース400に送信する。
【0089】
ステップC5において、メッセージIDデータベース400は、個人メールボックス600を特定する情報を追加する。具体的には、メッセージIDデータベース400は、メールヘッダ解読手段300が出した命令を受けて、レコードに、個人メールボックス600を特定する情報を追加する。例えば、
図12に示すように、メッセージIDデータベース400は、メールアドレスのアカウント部分(
図12の場合、
図3に示す宛先メールアドレス「kobe@example.xxx.jp」のアカウント「kobe」)を、個人メールボックス情報に追加しても良い。なお、
図12に示す個人メールボックス情報は、一例であり、個人メールボックス情報を、メールアドレスのアカウント部分に限定する趣旨ではない。個人メールボックス情報は、個人メールボックス600を特定する情報であれば良く、その詳細は問わない。
【0090】
ステップB12において、メールヘッダ解読手段300は、個人メールボックス600にヘッダ部を送信する。そして、ステップE2において、個人メールボックス600は、メールヘッダ解読手段300が送信したヘッダ部を格納する。具体的には、メールヘッダ解読手段300は、アカウント「kobe」の個人メールボックス600に、
図3に示す電子メールのヘッダ部を送信する。そして、アカウント「kobe」の個人メールボックス600は、送信されたヘッダ部(
図3に示す電子メールのヘッダ部)を格納する。
【0091】
次に、メッセージIDに対応するヘッダ部のうち、登録済みの一の宛先と異なる、他の宛先に関して、メールサーバ装置10の動作について、詳細に説明する。なお、以下の説明においては、登録済みの一の宛先を「kobe@example.xxx.jp」とし、他の宛先を「kyoto@example.xxx.jp」として説明する。また、以下の説明において、メールサーバ装置10は、
図3に示す電子メール(メッセージID「20150610123456789@xxx.example.am」の電子メール)を受信済みであり、
図12に示すレコードを作成済みであるとする。
【0092】
上記の通り、
図8に示すステップB5において、検索キーであるメッセージIDを含む、レコードが、メッセージIDデータベース400に格納されている否かを、メールヘッダ解読手段300は判断する。
【0093】
ここで、検索キーであるメッセージIDを含む、レコードが、メッセージIDデータベース400に格納されている、とメールヘッダ解読手段300は判断するとする。その場合、メールヘッダ解読手段300は、メッセージIDデータベース400の個人メールボックス情報に、個人メールボックス600を特定する情報を追加する(ステップB6)。具体的には、メールヘッダ解読手段300は、レコードにおいて、メッセージIDに対応する個人メールボックス情報に、個人メールボックス600を特定する情報を追加する命令を、メッセージIDデータベース400に送信する。
【0094】
ステップC2において、メッセージIDデータベース400は、個人メールボックス600を特定する情報を追加する。具体的には、メッセージIDデータベース400は、メールヘッダ解読手段300が出した命令を受けて、メッセージIDに対応する個人メールボックス情報に、個人メールボックス600を特定する情報を追加する。例えば、
図13に示すように、メッセージIDデータベース400は、メールアドレスのアカウント部分(
図13の場合、
図3に示す宛先メールアドレス「kyoto@example.xxx.jp」のアカウント「kyoto」)を、個人メールボックス情報に追加しても良い。
【0095】
ステップB7において、メールヘッダ解読手段300は、送信先の個人メールボックス600にヘッダ部を送信する。そして、ステップE1において、個人メールボックス600は、メールヘッダ解読手段300が送信したヘッダ部を格納する。具体的には、メールヘッダ解読手段300は、アカウント「kyoto」の個人メールボックス600に、
図3に示す電子メールのヘッダ部を送信する。そして、アカウント「kyoto」の個人メールボックス600は、送信されたヘッダ部(
図3に示す電子メールのヘッダ部)を格納する。
【0096】
<メール要求>
次に、メールサーバ装置10が、電子メールの宛先から、電子メールの要求を受信した場合の動作について、詳細に説明する。なお、以下の説明においては、メールサーバ装置10が、
図3に示す電子メールを受信し、電子メールの宛先「kobe@example.xxx.jp」から電子メールの要求を受信した場合を例示して説明する。
【0097】
図14は、メールサーバ装置10が、電子メールの宛先から、電子メールの要求を受信した場合の動作の一例を示すフローチャートである。
【0098】
まず、メール要求受付手段700は、クライアント端末からメール要求を受信したとする(
図14に示すステップF1)。具体的には、メール要求受付手段700は、クライアント端末から、POP3等のメール要求を受信する。例えば、メール要求受付手段700は、「kobe@example.xxx.jp」のクライアント端末から、POP3等のメール要求を受信する。
【0099】
メール要求受付手段700は、クライアント端末からメール要求を受信すると、個人メールボックス600を特定する(ステップF2)。具体的には、メール要求受付手段700は、メール要求に基づいて、メール要求元を特定する。そして、メール要求受付手段700は、メール要求元に対応する個人メールボックス600を特定する。例えば、電子メールの宛先「kobe@example.xxx.jp」から電子メールの要求を受信した場合、メール要求受付手段700は、アカウント「kobe」の個人メールボックス600を特定する。
【0100】
ステップF3において、メール要求受付手段700は、ヘッダ部を要求する。具体的には、メール要求受付手段700は、特定した個人メールボックス600に対して、電子メールのヘッダ部を送信するように要求する。ここで、メール要求受付手段700は、メール要求元のクライアント端末が未受信である、2以上の電子メールに関して、各電子メールのヘッダ部を要求しても良い。
【0101】
ステップE2において、個人メールボックス600は、メール要求受付手段700にヘッダ部を送信する。具体的には、個人メールボックス600は、メール要求受付手段700からのヘッダ部の要求に応答し、格納するヘッダ部をメール要求受付手段700に送信する。
【0102】
ステップF4において、メール要求受付手段700は、ヘッダ部を取得する。ステッ
プF5において、メール要求受付手段700は、メッセージIDを抽出する。具体的には、メール要求受付手段700は、取得したヘッダ部から、メッセージIDを抽出する。例えばメール要求受付手段700は、メール要求元のアカウント「kobe」の個人メールボックス600から、メッセージID「20150610123456789@xxx.example.am」の電子メールのヘッダ部を取得する。そして、
メール要求受付手段700は、取得したヘッダ部から、メッセージID「20150610123456789@xxx.example.am」を抽出する。
【0103】
ステップF6において、メール要求受付手段700は、メッセージIDを検索する。具体的には、メール要求受付手段700は、抽出したメッセージIDを含む、レコードを検索する命令を、メッセージIDデータベース400に送信する。
【0104】
ステップC6において、メッセージIDデータベース400は、レコードを応答する。具体的には、メッセージIDデータベース400は、メール要求受付手段700が出した命令を受けて、メッセージIDを含むレコードを検索し、メール要求受付手段700に検索結果を返す。例えば、メッセージIDデータベース400は、メッセージID「20150610123456789@xxx.example.am」を含む、
図13に示すレコードを、メール要求受付手段700に返す。
【0105】
ステップF7において、メール要求受付手段700は、共有メール格納部500の場所を特定する情報を取得する。具体的には、メール要求受付手段700は、メッセージIDデータベース400から入手した検索結果に基づいて、共有メール格納部500の場所を特定する情報を取得する。
【0106】
ステップF8において、メール要求受付手段700は、メール本文、及び添付ファイルを要求する。具体的には、メール要求受付手段700は、特定した共有メール格納部500に格納されているメール本文、及び添付ファイルを送信するように要求する。そして、ステップD2において、共有メール格納部500は、メール要求受付手段700に、メール本文、及び添付ファイルを送信する。例えば、メッセージID「20150610123456789@xxx.example.am」の電子メールに対応する、
図3に示すメール本文が、共有メール格納部500に格納されているとする。その場合、メール要求受付手段700は、特定した共有メール格納部500から、
図3に示すメール本文を取得する。
【0107】
ステップF9において、メール要求受付手段700は、ヘッダ部と、メール本文と、添付ファイルとを合成する。具体的には、メール要求受付手段700は、取得したヘッダ部と、取得したメール本文と、取得した添付ファイルとを合成し、電子メールを復元する。例えば、メッセージIDデータベース400が、
図13に示すレコードを格納しているとする。そして、メールサーバ装置10が、アカウント「kobe」のクライアント端末から電子メールの要求を受信したとする。その場合、メール要求受付手段700は、上記の処理を実行し、
図3に示す電子メールを復元する。
【0108】
ステップF10において、メール要求受付手段700は、メール要求に応答する。具体的には、メール要求受付手段700は、復元した電子メールを、メール要求元のクライアント端末に送信する。なお、メール要求受付手段700が、
図3に示す「osaka@example.xxx.jp」に対応するクライアント端末から、メール要求を受信した場合についても、上記の通りであるため、詳細な説明を省略する。
【0109】
<メール削除>
次に、メールサーバ装置10が、クライアント端末から、メール削除要求を受信した場合の動作について、詳細に説明する。なお、以下の説明においては、メールサーバ装置10が、
図3に示す電子メールを受信し、電子メールの宛先「kyoto@example.xxx.jp」から電子メールの削除要求を受信した場合を例示して説明する。
【0110】
図15、
図16は、メールサーバ装置10が、電子メールの宛先から、電子メールの削除要求を受信した場合の動作の一例を示すフローチャートである。
【0111】
まず、メール要求受付手段700は、クライアント端末からのメール削除要求を受信したとする(
図15に示すステップF11)。具体的には、メール要求受付手段700は、クライアント端末から、POP3等を用いたメール削除要求を受信する。
【0112】
メール要求受付手段700は、メール削除要求を受信すると、個人メールボックス600を特定する(ステップF12)。具体的には、メール要求受付手段700は、メール削除要求に基づいて、個人メールボックス600を特定する。例えば、メール要求受付手段700は、メール削除要求の送信元に関する情報に基づいて、個人メールボックス600を特定しても良い。電子メールの宛先「kyoto@example.xxx.jp」から電子メールの削除要求を受信した場合には、メール要求受付手段700は、アカウント「kyoto」に対応する、個人メールボックス600を特定する。
【0113】
ステップF13において、メール要求受付手段700は、特定した個人メールボックス600に対して、ヘッダ部を要求する。具体的には、メール要求受付手段700は、特定した個人メールボックス600に対して、ヘッダ部を送信する要求する。
【0114】
ステップE3において、個人メールボックス600は、ヘッダ部を送信する。具体的には、メール要求受付手段700が特定した個人メールボックス600は、メール要求受付手段700からの要求に応じて、格納するヘッダ部を抽出し、抽出したヘッダ部をメール要求受付手段700に送信する。なお。個人メールボックス600は、2以上の電子メールのヘッダ部を、個人メールボックス600の記憶領域から抽出し、抽出した2以上のヘッダ部をメール要求受付手段700に送信しても良い。
【0115】
ステップF14において、メール要求受付手段700は、ヘッダ部を取得する。そして、ステップF15において、メール要求受付手段700は、取得したヘッダ部からメッセージIDを抽出する。
【0116】
ステップF16において、メール要求受付手段700は、個人メールボックス情報の削除を、メッセージIDデータベース400に要求する。具体的には、メール要求受付手段700は、抽出したメッセージIDを含む、レコードから、所定の個人メールボックス600を特定する情報を削除する命令を、メッセージIDデータベース400に送信する。ここで、所定の個人メールボックス600とは、メール削除要求元に対応する個人メールボックス600を意味する。なお、当該命令は、抽出したメッセージIDを含んで構成されるものとする。
【0117】
例えば、電子メールの削除要求元のアカウントが「kyoto」であるとする。その場合、メール要求受付手段700は、アカウント「kyoto」の個人メールボックス600を特定する情報を、メッセージIDデータベース400から削除する命令を送信する。
【0118】
ステップC7において、メッセージIDデータベース400は、レコードから、削除要求された、個人メールボックス情報を削除する。具体的には、メッセージIDデータベース400は、メール要求受付手段700が出した命令を受けて、当該命令に含まれるメッセージIDを検索キーとして、格納する、1又は2以上のレコードを検索する。そして、メッセージIDデータベース400は、検索キーであるメッセージIDを含む、レコードを特定する。そして、メッセージIDデータベース400は、特定したレコードから、メール削除要求元に対応する、個人メールボックス600を特定する情報を削除する。
【0119】
例えば、メールサーバ装置10は、
図3に示す電子メールを受信済みであり、電子メールの削除要求を受信したとする。ここで、電子メールの削除要求元のアカウントが「kyoto」であるとする。そして、検索キーであるメッセージIDが、「20150610123456789@xxx.example.am」であるとする。その場合、メッセージIDデータベース400は、メッセージID「20150610123456789@xxx.example.am」を検索キーとして、
図13に示すレコードを特定する。そして、メッセージIDデータベース400は、特定したレコードの個人メールボックス情報から、アカウント「kyoto」を削除し、
図12に示すようにレコードを更新する。
【0120】
ステップF17において、メール要求受付手段700は、個人メールボックス600に格納される、ヘッダ部の削除を要求する。具体的には、メール要求受付手段700は、特定した個人メールボックス600に格納されているヘッダ部を削除するように、個人メールボックス600に要求する。
【0121】
ステップE4において、個人メールボックス600は、ヘッダ部を削除する。具体的には、個人メールボックス600は、格納済みのヘッダ部を削除する。そして、
図16に示すステップF18に遷移する。
【0122】
図16に示すステップF18において、メール要求受付手段700は、メッセージIDの検索を、メッセージIDデータベース400に要求する。具体的には、メール要求受付手段700は、抽出したメッセージIDを検索する命令を、メッセージIDデータベース400に送信する。
【0123】
ステップC8において、メッセージIDデータベース400は、検索を実行する。具体的には、メッセージIDデータベース400は、検索キーのメッセージIDを含む、レコードを検索し、メール要求受付手段700に検索結果を送信する。
【0124】
ステップF19において、個人メールボックス情報に、情報が登録されているか否かを、メール要求受付手段700は判断する。具体的には、メッセージIDデータベース400から送信されたレコード(即ち、検索結果)において、個人メールボックス情報に、情報が登録されているか否かを、メール要求受付手段700は判断する。例えば、取得したレコードが、
図12に示す状態である場合、個人メールボックス情報に情報が登録されている、とメール要求受付手段700は判断する。一方、取得したレコードが、
図11に示す状態である場合、個人メールボックス情報に情報が登録されていない、とメール要求受付手段700は判断する。
【0125】
個人メールボックス情報に情報が登録されている場合(ステップF19のYes分岐)には、メールサーバ装置10は、電子メールを削除する処理を終了する。
【0126】
一方、個人メールボックス情報に、情報が登録されていない場合(ステップF19のNo分岐)には、メール要求受付手段700は、取得したレコードに対応する、共有メール情報を削除する命令を、共有メール格納部500に送信する(ステップF20)。
【0127】
ステップD3において、共有メール格納部500は、共有メール情報を削除する。具体的には、共有メール格納部500は、取得したレコードに対応する、メール本文と、添付ファイルとを削除する。
【0128】
ステップF21において、メール要求受付手段700は、レコードの削除命令を、メッセージIDデータベース400に送信する。具体的には、メール要求受付手段700は、取得したレコードを削除する命令を、メッセージIDデータベース400に送信する。
【0129】
ステップC9において、メッセージIDデータベース400は、削除を実行する。具体的には、メッセージIDデータベース400は、削除命令を受けたレコードを削除する。
【0130】
[変形例1]
本実施形態に係るメールサーバ装置10の変形例1として、削除対象の電子メールを特定する情報を含む、メール削除要求を受信しても良い。例えば、削除対象の電子メールを特定する情報は、メッセージID、送信日時、受信日時、送信元に関する情報(メールアドレス、アカウント名等)等であっても良い。なお、削除対象の電子メールを特定する情報は、削除対象の電子メールを特定できれば良く、その詳細は問わない。
【0131】
メール削除要求が、削除対象の電子メールを特定する情報を含む場合には、ヘッダ部を送信する要求は、削除対象の電子メールを特定する情報を含むことが好ましい。または、メール削除要求が、削除対象の電子メールを特定する情報を含む場合には、個人メールボックス600は、削除対象の電子メールを特定する情報に基づいて、ヘッダ部を抽出し、抽出したヘッダ部をメール要求受付手段700に送信しても良い。例えば、メール削除要求が、削除対象の電子メールのメッセージIDを含む場合、個人メールボックス600は、当該メッセージIDを含むヘッダ部を抽出する。
【0132】
以上のように、本実施形態に係るメールサーバ装置10は、メッセージID毎に異なる第1の記憶領域(共有メール格納部500)に、メール本文を含む共有メール情報を格納する。また、本実施形態に係るメールサーバ装置10は、宛先毎に異なる第2の記憶領域(個人メールボックス600)に、ヘッダ部を格納する。例えば、メールサーバ装置10は、2以上の宛先に対する電子メールを受信した場合、当該電子メールのメール本文を、共有メール格納部500に格納し、ヘッダ部を、各宛先に対応する個人メールボックス600に格納する。そのため、本実施形態に係るメールサーバ装置10は、冗長なデータ(重複したデータ)を管理することを回避する。従って、本実施形態に係るメールサーバ装置10は、管理する電子メールのデータサイズの増大を抑制し、効率的に電子メールを管理することに貢献する。
【0133】
[第2の実施形態]
次に、第2の実施形態について説明する。
【0134】
本実施形態は、第1の記憶領域に、ヘッダ部と、共有メール情報とを格納し、第2の記憶領域に、ヘッダ部を格納する形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
【0135】
図17は、本実施形態に係るメールサーバ装置10aの全体構成の一例を示すブロック図である。以下の説明では、第1の実施形態に係るメールサーバ装置10との相違点について、詳細に説明する。
【0136】
本実施形態に係るメールヘッダ解読手段300aは、受信メールから取得したヘッダ部と、共有メール情報とを、受信メールのメッセージIDに対応する第1の記憶領域(共有メール格納部500)に格納する。また、本実施形態に係るメールヘッダ解読手段300aは、受信メールの宛先毎の第2の記憶領域(個人メールボックス600)に、受信メールから取得したヘッダ部を格納する。
【0137】
ヘッダ部のデータサイズは、メール本文のデータサイズより小さい場合が多い。そのため、共有メール格納部500に、ヘッダ部とメール本文とを格納しても、共有メール格納部500の使用可能容量に与える影響は小さい。しかし、共有メール格納部500に、ヘッダ部とメール本文とを格納することで、ヘッダ部とメール本文とを結合し、電子メールを復元するための処理において、処理時間を削減することに貢献する。従って、本実施形態に係るメールサーバ装置10aは、管理する電子メールのデータサイズの増大を抑制しつつ、より一層、効率的に電子メールを管理することに貢献する。
【0138】
[第3の実施形態]
次に、第3の実施形態について説明する。
【0139】
本実施形態は、第1の記憶領域に、ヘッダ部と、共有メール情報とを格納し、第2の記憶領域に、ヘッダ部のうち、メッセージIDを格納する形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
【0140】
本実施形態に係るメールサーバ装置10bの構成は、
図18に示す通りである。以下の説明では、第1の実施形態に係るメールサーバ装置10との相違点について、詳細に説明する。
【0141】
本実施形態に係るメールヘッダ解読手段300bは、受信メールから取得したヘッダ部と、共有メール情報とを、受信メールのメッセージIDに対応する第1の記憶領域(共有メール格納部500)に格納する。また、本実施形態に係るメールヘッダ解読手段300bは、受信メールの宛先毎の第2の記憶領域(個人メールボックス600)に、ヘッダ部のメッセージID304を格納する。
【0142】
上記の通り、ヘッダ部のデータサイズは、メール本文のデータサイズより小さい場合が多い。そのため、共有メール格納部500に、ヘッダ部とメール本文とを格納しても、共有メール格納部500の使用可能容量に与える影響は小さい。さらに、個人メールボックス600に、ヘッダ部に替えて、メッセージIDを格納することで、第2の実施形態より、管理する電子メールのデータサイズの増大を抑制できる。従って、本実施形態に係るメールサーバ装置10bは、効率的に電子メールを管理しつつ、より一層、管理する電子メールのデータサイズの増大を抑制することに貢献する。
【0143】
上述の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
【0144】
(形態1)上記第1の視点に係るメールサーバ装置の通りである。
【0145】
(形態2)前記受信メールのメッセージIDと、前記共有メール情報の格納場所を特定する情報と、前記ヘッダ部の格納場所を特定する情報とを対応付けた情報を、レコードとして格納する、メッセージIDデータベースをさらに含んで構成される、付記1に記載のメールサーバ装置。
【0146】
(形態3)前記メッセージIDデータベースは、前記メッセージIDと、前記共有メール情報の格納場所を特定する情報と、
前記ヘッダ部の格納場所を特定する情報として個人メールボックスを特定する情報とを対応付けた情報を、前記レコードとして格納する、付記2に記載のメールサーバ装置。
【0147】
(形態4)メール要求を受信する、メール要求受付手段をさらに含んで構成され、前記メール要求受付手段は、前記メール要求を受信した場合、メール要求元に対応する前記第2の記憶領域から、前記ヘッダ部を取得し、前記取得したヘッダ部に含まれるメッセージID
と、前記メッセージIDデータベースとに基づいて、前記第1の記憶領域を特定し、前記特定した第1の記憶領域から、前記共有メール情報を取得し、前記取得したヘッダ部と、前記取得した共有メール情報とを結合し、電子メールを作成し、前記作成した電子メールを、前記メール要求元に送信する、付記1乃至3のいずれか一に記載のメールサーバ装置。
【0148】
(形態5)前記メール要求受付手段は、メール削除要求を受信し、前記メール要求受付手段は、前記メール削除要求を受信した場合、削除対象のヘッダ部の格納場所、及び前記削除対象のヘッダ部を特定し、前記削除対象のヘッダ部に含まれるメッセージID
と、前記メッセージIDデータベースとに基づいて、前記共有メール情報の格納場所を特定する、付記4に記載のメールサーバ装置。
【0149】
(形態6)前記メールヘッダ解読手段は、前記受信メールのヘッダ部からメッセージIDを取得し、前記取得したメッセージIDが、前記メッセージIDデータベースに格納されているか否かを判断し、前記取得したメッセージIDが、前記メッセージIDデータベースに格納されていない場合、メッセージIDと、前記共有メール情報の格納場所を特定する情報と、取得したメッセージIDに対応するヘッダ部のうち、一の宛先に対応する、第2の記憶領域を特定する情報とを対応付けた前記レコードを作成し、前記作成したレコードを、前記メッセージIDデータベースに登録する、付記1乃至5のいずれか一に記載のメールサーバ装置。
【0150】
(形態7)前記メールヘッダ解読手段は、前記取得したメッセージIDが、前記メッセージIDデータベースに格納されている場合、前記取得したメッセージIDに対応する前記レコードを特定し、前記メッセージIDに対応するヘッダ部のうち、前記一の宛先と異なる他の宛先に対応する、前記第2の記憶領域を特定する情報を、前記特定したレコードに追加する、付記6に記載のメールサーバ装置。
【0151】
(形態8)前記メールヘッダ解読手段は、前記受信メールから取得した前記ヘッダ部と、前記共有メール情報とを、前記受信メールのメッセージIDに対応する前記第1の記憶領域に格納し、前記受信メールの宛先毎の前記第2の記憶領域に、前記受信メールから取得した前記ヘッダ部を格納する、付記1乃至7のいずれか一に記載のメールサーバ装置。
【0152】
(形態9)前記メールヘッダ解読手段は、前記受信メールから取得した前記ヘッダ部と、前記共有メール情報とを、前記受信メールのメッセージIDに対応する前記第1の記憶領域に格納し、前記受信メールの宛先毎の前記第2の記憶領域に、前記受信メールのメッセージIDを格納する、付記1乃至8のいずれか一に記載のメールサーバ装置。
【0153】
(形態10)上記第2の視点に係るメール管理方法の通りである。
【0154】
(形態11)前記受信メールのメッセージIDと、前記共有メール情報の格納場所を特定する情報と、前記ヘッダ部の格納場所を特定する情報とを対応付けた情報を、レコードとして格納する工程をさらに含む、付記10に記載のメール管理方法。
【0155】
(形態12)前記レコードを格納する工程において、前記メッセージIDと、前記共有メール情報の格納場所を特定する情報と、個人メールボックスを特定する情報とを対応付けた情報を、前記レコードとして格納する、付記11に記載のメール管理方法。
【0156】
(形態13)メール要求を受信する工程と、前記メール要求を受信した場合、メール要求元に対応する前記第2の記憶領域から、前記ヘッダ部を取得する工程と、前記取得したヘッダ部に含まれるメッセージIDに基づいて、前記第1の記憶領域を特定する工程と、前記特定した第1の記憶領域から、前記共有メール情報を取得する工程と、前記取得したヘッダ部と、前記取得した共有メール情報とを結合し、電子メールを作成する工程と、前記作成した電子メールを、前記メール要求元に送信する工程と、をさらに含む、付記10乃至12のいずれか一に記載のメール管理方法。
【0157】
(形態14)メール削除要求を受信する工程と、前記メール削除要求を受信した場合、削除対象のヘッダ部の格納場所、及び前記削除対象のヘッダ部を特定する工程と、前記削除対象のヘッダ部に含まれるメッセージIDに基づいて、前記共有メール情報の格納場所を特定する、付記13に記載のメール管理方法。
【0158】
(形態15)前記分離する工程において、前記受信メールのヘッダ部からメッセージIDを取得する工程と、前記取得したメッセージIDが、前記メッセージIDデータベースに格納されているか否かを判断する工程と、前記取得したメッセージIDが、前記メッセージIDデータベースに格納されていない場合、メッセージIDと、前記共有メール情報の格納場所を特定する情報と、取得したメッセージIDに対応するヘッダ部のうち、一の宛先に対応する、第2の記憶領域を特定する情報とを対応付けた前記レコードを作成し、前記作成したレコードを、前記メッセージIDデータベースに登録する工程と、をさらに含む、付記10乃至14のいずれか一に記載のメール管理方法。
【0159】
(形態16)前記分離する工程において、前記取得したメッセージIDが、前記メッセージIDデータベースに格納されている場合、前記取得したメッセージIDに対応する前記レコードを特定する工程と、前記メッセージIDに対応するヘッダ部のうち、前記一の宛先と異なる他の宛先に対応する、前記第2の記憶領域を特定する情報を、前記特定したレコードに追加する工程と、をさらに含む、付記15に記載のメール管理方法。
【0160】
(形態17)前記分離する工程において、前記受信メールから取得した前記ヘッダ部と、前記共有メール情報とを、前記受信メールのメッセージIDに対応する前記第1の記憶領域に格納する工程と、前記受信メールの宛先毎の前記第2の記憶領域に、前記受信メールから取得した前記ヘッダ部を格納する工程と、をさらに含む、付記10乃至16のいずれか一に記載のメール管理方法。
【0161】
(形態18)前記分離する工程において、前記受信メールから取得した前記ヘッダ部と、前記共有メール情報とを、前記受信メールのメッセージIDに対応する前記第1の記憶領域に格納する工程と、前記受信メールの宛先毎の前記第2の記憶領域に、前記受信メールのメッセージIDを格納する工程と、をさらに含む、付記10乃至17のいずれか一に記載のメール管理方法。
【0162】
(形態19)上記第3の視点に係るメール管理プログラムの通りである。
【0163】
上記の形態19に示す形態は、形態1に示す形態と同様に、形態2乃至9に示す形態に展開することが可能である
【0164】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。なお、本願において、「メール受信手段」、「メールヘッダ解読手段」、「メール要求受付手段」等、「手段」として記載した機能手段は、夫々、当該機能ユニット、ないし、当該機能部としても表すことができる。