以下に添付図面を参照して、この発明にかかる情報提供プログラム、情報提供装置および情報提供方法の実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる情報提供方法の一実施例を示す説明図である。図1において、「Aさん」と「Bさん」と「Cさん」と「Dさん」との一連の電子メールのやり取りが示されている。ここで、電子メールとは、ネットワークを介してコンピュータ間で送受信される電子情報である。電子メールは、例えば、ヘッダ情報とボディ情報とを含む。
ヘッダ情報は、例えば、電子メールのメッセージID(identification)、送信先のメールアドレス、送信元の発信者ID、メールアドレス、ドメイン名、送信日時などを含む。ボディ情報は、例えば、本文が記述された本文情報と、画像、音声、プログラムなどの添付情報とを含む。
ここで、「Aさん」と「Bさん」と「Cさん」と「Dさん」との間でやり取りされた一連の電子メールのうち、一部の電子メールを抜粋して時系列に説明する。なお、以下の説明では、電子メールを単に「メール」と表記する場合がある。
(1)「Aさん」から「Bさん」、「Cさん」および「Dさん」を宛先としてメール110が送信されている。メール110は、『目標設定について皆さんのご意見をいただきつつ、目標を決めたいと思います。ご意見をお待ちしております。』といった内容のものである。
(2)「Bさん」から「Aさん」および「Cさん」を宛先としてメール120が送信されている。メール120は、「Aさん」からのメール110に対する「Bさん」の回答を表すものである。ここでは、メール120の宛先として「Dさん」が含まれていないため、「Dさん」はメール120を読んでいない。
(3)「Aさん」から「Bさん」、「Cさん」および「Dさん」を宛先としてメール130が送信されている。メール130は、ユーザ間で一連の電子メールがやり取りされた結果決定された目標を表すものである。メール130には、本文131の前半に議論の結果決定された目標を表す文章132が記載され、本文131の後半に議論の内容を表す引用文133が記載されている。
ここで、「Bさん」は、自分から送信したメール120の内容を把握していれば、メール130の本文131を冒頭から読み進めても内容を理解しやすい。また、「Cさん」は、自分宛に送信されてきたメール120の内容を把握していれば、メール130の本文131を冒頭から読み進めても内容を理解しやすい。
一方、「Dさん」は、メール120を読んでいないため、メール130の本文131を冒頭から読み進めた場合、例えば、“議論の結果”とあるが実際にどういった議論を経た結果なのかを把握することが難しい。すなわち、「Dさん」が、メール130の内容を理解するにあたって、最初に把握すべき引用文133の存在に気付かず、本文131を冒頭から読み始めてしまうと、メール130の内容を理解できず、「Dさん」の混乱を招く恐れがある。
そこで、本実施の形態では、受信メールに他メールからの引用文が含まれている場合、引用文が記載された他メールの受信状況や開封状況から、受信者が引用文を読んでいるか否かを判定する。これにより、例えば、受信メールの閲覧時に、受信者に対して未読の引用文の存在を報知することが可能となり、受信者による受信メールの内容の理解を支援することができる。
図1の例では、「Dさん」に対するメール130の表示例が示されている。具体的には、メール130の本文131のうち、「Dさん」が未読の引用文133の背景色が、冒頭の文章132の背景色とは異なる背景色に変更されている。
これにより、メール130の閲覧時に、「Dさん」は自分が未読の引用文133の存在に容易に気付くことができ、引用文133を読んだあとに、本文131を冒頭から読み直すといった読み方をすることができる。この結果、「Dさん」は、どういった議論が行われたのかを把握した上で文章132を読むことができ、本文131の内容を理解しやすくなる。
なお、図1の例では、「Dさん」に対して未読の引用文133の存在を報知するために、引用文133の背景色を変更することにしたが、これに限らない。例えば、引用文133の表示形式の変更例として、引用文133に含まれる文字や記号のフォント、文字色、大きさなどが変更されることにしてもよい。また、メール130の本文131に未読の引用文が存在することを報知するポップアップ表示やガイド音声が出力されることにしてもよい。
(メールシステム200のシステム構成例)
つぎに、実施の形態1にかかるメールシステム200のシステム構成例について説明する。図2は、実施の形態1にかかるメールシステム200のシステム構成例を示す説明図である。図2において、メールシステム200は、情報提供装置201と、複数のクライアント端末202(図面では、3台)と、を含む。
メールシステム200において、情報提供装置201および複数のクライアント端末202は、有線または無線のネットワーク210を介して相互に通信可能に接続されている。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ここで、情報提供装置201は、メールDB(データベース)220、返信管理DB230、認証DB240および設定DB250を有し、メールシステム200内の電子メールの送受信を行うコンピュータである。情報提供装置201は、例えば、メールサーバである。なお、メールDB220、返信管理DB230、認証DB240および設定DB250については、図5〜図8を用いて後述する。
クライアント端末202は、電子メールの表示、作成、送受信を行うコンピュータである。クライアント端末202は、例えば、メールシステム200のユーザが使用するPC(パーソナル・コンピュータ)、ノートPC、携帯電話、PDA(Personal Digital Assistant)、スマートフォンなどである。電子メールは、例えば、クライアント端末202のブラウザにより表示、作成、送受信されるウェブメールである。
(情報提供装置201のハードウェア構成例)
図3は、実施の形態1にかかる情報提供装置201のハードウェア構成例を示すブロック図である。図3において、情報提供装置201は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、I/F(Interface)304と、磁気ディスクドライブ305と、磁気ディスク306と、光ディスクドライブ307と、光ディスク308と、入力装置309と、を有している。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、情報提供装置201の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。I/F304は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して、クライアント端末202などの他の装置に接続される。そして、I/F304は、ネットワーク210と内部のインターフェースを司り、他の装置からのデータの入出力を制御する。I/F304には、例えば、モデムやLANアダプタなどを採用することができる。
磁気ディスクドライブ305は、CPU301の制御にしたがって磁気ディスク306に対するデータのリード/ライトを制御する。磁気ディスク306は、磁気ディスクドライブ305の制御で書き込まれたデータを記憶する。光ディスクドライブ307は、CPU301の制御にしたがって光ディスク308に対するデータのリード/ライトを制御する。光ディスク308は、光ディスクドライブ307の制御で書き込まれたデータを記憶したり、光ディスク308に記憶されたデータをコンピュータに読み取らせたりする。
入力装置309は、文字、数字、各種指示などのデータの入力を行う。入力装置309は、例えば、入力のためのキーを有するキーボードやタッチパネル式の入力パッドなどである。なお、情報提供装置201は、上述した構成部の他に、データを表示するディスプレイを有することにしてもよい。また、情報提供装置201は、例えば、上述した構成部のうち光ディスクドライブ307および光ディスク308を有さないことにしてもよい。
(クライアント端末202のハードウェア構成例)
図4は、実施の形態1にかかるクライアント端末202のハードウェア構成例を示すブロック図である。図4において、クライアント端末202は、CPU401と、ROM402と、RAM403と、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、ディスプレイ408と、I/F409と、キーボード410と、マウス411と、スキャナ412と、プリンタ413と、を有している。また、各構成部はバス400によってそれぞれ接続されている。
ここで、CPU401は、クライアント端末202の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータのリード/ライトを制御する。磁気ディスク405は、磁気ディスクドライブ404の制御で書き込まれたデータを記憶する。
光ディスクドライブ406は、CPU401の制御にしたがって光ディスク407に対するデータのリード/ライトを制御する。光ディスク407は、光ディスクドライブ406の制御で書き込まれたデータを記憶したり、光ディスク407に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ408は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ408は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F409は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して情報提供装置201などの他の装置に接続される。そして、I/F409は、ネットワーク210と内部のインターフェースを司り、他の装置からのデータの入出力を制御する。I/F409には、例えば、モデムやLANアダプタなどを採用することができる。
キーボード410は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス411は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ412は、画像を光学的に読み取り、クライアント端末202内に画像データを取り込む。なお、スキャナ412は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ413は、画像データや文書データを印刷する。プリンタ413には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、クライアント端末202は、例えば、上述した構成部のうち、光ディスクドライブ406、光ディスク407、スキャナ412、プリンタ413などを有さないことにしてもよい。
(各種DB220,230,240,250の記憶内容)
つぎに、図5〜図8を用いて、情報提供装置201が有する各種DB220,230,240,250の記憶内容について説明する。各種DB220,230,240,250は、例えば、図3に示した情報提供装置201のRAM303、磁気ディスク306、光ディスク308などの記憶装置により実現される。
<メールDB220の記憶内容>
図5は、メールDB220の記憶内容の一例を示す説明図である。図5において、メールDB220は、ユーザID、種別、メッセージID、発信者ID、開封状況、宛先、発信日時、タイトルおよび本文のフィールドを有する。各フィールドに情報を設定することで、メール情報(例えば、メール情報500−1〜500−7)が記憶されている。
ユーザIDは、メールシステム200のユーザの識別子である。ここでは、ユーザIDとして、ユーザのメールアドレスが用いられている。種別は、受信メールか送信メールかを区別する情報である。メッセージIDは、メールシステム200にて送受信されたメールを一意に識別する識別子である。通常は全体としてユニークな文字列となれば良いが、一般的に、@マークの右側をドメイン名とし、左側は発信日時やユーザIDなどを使い、なんらかの規則で作成した文字列とすることで、全体としてユニークな文字列となるようにしている。本実施例では、メールを識別しやすいような文字列としている。発信者IDは、メールの送信元の識別子であり、例えば、送信元となるユーザのユーザIDである。
開封状況は、メールが開封されているか否かを示す情報である。宛先は、メールの宛先であり、例えば、メールの送信先となるユーザのメールアドレスである。宛先は、例えば、CC(Carbon Copy)やBCC(Blind Carbon Copy)を含む。発信日時は、メールの発信日時である。タイトルは、メールの件名である。本文は、メールの本文情報として記述されたメッセージである。
例えば、メール情報500−1は、ユーザID「yamada@xxx.ww」のユーザの受信メールに関する情報である。受信メールのメッセージIDは「zumen4@xxx.ww」、発信者IDは「satou@xxx.ww」、開封状況は「未」、宛先は「yamada@xxx.ww,tanaka@xxx.ww」である。また、発信日時は「2011/5/30 10:34:23」、タイトルは「Re:Re:Re:発明について」、本文は「お世話になっております。佐藤です。・・・」である。
なお、上述した説明では、ユーザIDとして、ユーザのメールアドレスを用いることにしたが、ユーザのメールアドレスとは異なる別の識別子を用いることにしてもよい。これにより、例えば、1ユーザに対して複数のメールアドレスを管理することができる。
<返信管理DB230の記憶内容>
図6は、返信管理DB230の記憶内容の一例を示す説明図である。図6において、返信管理DB230は、引用先情報と引用元情報とを対応付けて表す返信管理情報(例えば、返信管理情報600−1〜600−3)を記憶している。引用先情報は、引用先となるメールのメッセージIDおよび発信者IDを示している。また、引用元情報は、引用元となるメールのメッセージIDおよび発信者IDを示している。
例えば、返信管理情報600−1は、発信者ID「satou@xxx.ww」を発信者とするメッセージID「zumen4@xxx.ww」のメールは、発信者ID「tanaka@xxx.ww」を発信者とするメッセージID「zumen3@xxx.ww」のメールを引用して作成されたことを示している。
<認証DB240の記憶内容>
図7は、認証DB240の記憶内容の一例を示す説明図である。図7において、認証DB240は、ユーザIDおよびパスワードのフィールドを有し、各フィールドに情報を設定することで、各ユーザの認証情報(例えば、認証情報700−1〜700−4)をレコードとして記憶している。
ここで、ユーザIDは、メールシステム200のユーザの識別子である。パスワードは、メールシステム200のユーザを認証する符号である。例えば、認証情報700−1は、ユーザID「tanaka@xxx.ww」のユーザのパスワード「jjleriuth」を示している。
<設定DB250の記憶内容>
図8は、設定DB250の記憶内容の一例を示す説明図である。図8において、設定DB250は、メールの本文に含まれる各種文章に適用する表示形式を示している。ここでは、メールの本文に含まれる文章として、通常の文章、未開封引用の文章および未受信引用の文章が示されている。
通常の文章とは、メールの本文のうち未開封引用および未受信引用を除く残余の文章である。未開封引用の文章とは、メールの本文のうち受信済みかつ未開封のメールから引用された引用文である。未受信引用の文章とは、メールの本文のうち未受信のメールから引用された引用文である。
具体的には、通常の文章に適用される表示形式として、背景色「白」、フォント「標準」、文字色「黒」が示されている。また、未開封引用の文章に適用される表示形式として、背景色「赤」、フォント「イタリック」、文字色「赤」が示されている。また、未受信引用の文章に適用される表示形式として、背景色「青」、フォント「ボールド」、文字色「青」が示されている。
(メール一覧画面の画面例)
つぎに、図4に示したクライアント端末202のディスプレイ408に表示されるメール一覧画面について説明する。メール一覧画面の画面情報は、例えば、情報提供装置201で作成されてクライアント端末202に送信される。
図9は、メール一覧画面の画面例を示す説明図である。図9において、メール一覧画面900には、ユーザID「yamada@xxx.ww」のユーザ宛に送信されたメールの概要情報(例えば、概要情報900−1〜900−7)が表示されている。
概要情報は、メールの差出人、発信日時および件名を示す情報である。ここでは、メールの差出人として、メールの発信者IDが示されている。また、メールの件名として、メールのタイトルが示されている。例えば、概要情報900−1は、メールの差出人「satou@xxx.ww」、発信日時「2011/5/30 10:34:23」および件名「Re:Re:Re:発明について」を示している。
メール一覧画面900において、図4に示したキーボード410やマウス411を用いたユーザの操作入力により、カーソルCを移動させていずれかの概要情報がクリックされると、該概要情報に対応するメールが選択された状態となる。図9の例では、概要情報900−1がクリックされている。
また、メール一覧画面900において、ボタンB1がクリックされると、新規メールを作成するメッセージ作成画面の表示要求が情報提供装置201に送信された結果、メッセージ作成画面がディスプレイ408に表示される。メッセージ作成画面については、図10を用いて後述する。
また、メール一覧画面900において、ボタンB2がクリックされると、選択されたメールの返信メールを作成するメッセージ作成画面の表示要求が情報提供装置201に送信された結果、メッセージ作成画面がディスプレイ408に表示される。
また、メール一覧画面900において、ボタンB3がクリックされると、選択されたメールの転送メールを作成するメッセージ作成画面の表示要求が情報提供装置201に送信された結果、メッセージ作成画面がディスプレイ408に表示される。また、メール一覧画面900において、ボタンB4がクリックされると、ログアウト要求が情報提供装置201に送信された結果、メール一覧画面900の表示が終了する。
(メッセージ作成画面の画面例)
つぎに、クライアント端末202のディスプレイ408に表示されるメッセージ作成画面について説明する。メッセージ作成画面は、例えば、図9に示したメール一覧画面900において、ボタンB1〜B3のいずれかのボタンがクリックされた場合にディスプレイ408に表示される。
図10は、メッセージ作成画面の画面例を示す説明図である。図10において、メッセージ作成画面1000は、ボックス1001〜1004を含む。メッセージ作成画面1000において、キーボード410やマウス411を用いたユーザの操作入力により、例えば、各ボックス1001〜1004に各種情報を入力することにより、新規メール、返信メール、転送メールを作成することができる。
ここで、ボックス1001は、メールの宛先が入力されるボックスである。ボックス1002は、メールのCCの宛先が入力されるボックスである。ボックス1003は、メールのタイトルが入力されるボックスである。ボックス1004は、メールの本文が入力されるボックスである。
なお、図9に示したメール一覧画面900において、ボタンB2がクリックされた場合は、例えば、メッセージ作成画面1000のボックス1001,1003,1004に、宛先、タイトル、引用文が、返信元のメールの情報を用いて挿入された状態でディスプレイ408に表示される。また、メール一覧画面900において、ボタンB3がクリックされた場合は、例えば、メッセージ作成画面1000のボックス1003,1004に、タイトル、引用文が、転送元のメールの情報を用いて挿入された状態でディスプレイ408に表示される。
また、メッセージ作成画面1000において、ボタンB5がクリックされると、作成された送信対象となるメールが情報提供装置201に送信される。また、メッセージ作成画面1000において、ボタンB4がクリックされると、ログアウト要求が情報提供装置201に送信された結果、メッセージ作成画面1000の表示が終了する。
(情報提供装置201の機能的構成例)
図11は、実施の形態1にかかる情報提供装置201の機能的構成例を示すブロック図である。図11において、情報提供装置201は、受付部1101と、検索部1102と、判定部1103と、特定部1104と、変更部1105と、出力部1106と、を含む。受付部1101〜出力部1106は、制御部となる機能であり、具体的には、例えば、図3に示したROM302、RAM303、磁気ディスク306、光ディスク308などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F304により、その機能を実現する。
受付部1101は、所定のアドレス宛に送信されたメールの表示要求を受け付ける機能を有する。ここで、所定のアドレスとは、メールシステム200にてメールを送受信する際にユーザを特定するための文字列であり、例えば、ユーザのメールアドレスである。所定のアドレスは、1ユーザに対して複数存在していてもよい。
また、メールの表示要求には、例えば、要求元となるユーザのユーザIDと、表示要求の対象となるメールのメッセージIDとが含まれている。ユーザIDは、例えば、ユーザのメールアドレスである。以下の説明では、表示要求の対象となるメールを「対象メール」と表記する。
具体的には、例えば、受付部1101が、対象メールの表示要求をクライアント端末202から受信することにより、対象メールの表示要求を受け付ける。また、受付部1101が、例えば、図3に示した入力装置309を用いたユーザの操作入力により、対象メールの表示要求を受け付けることにしてもよい。
検索部1102は、受け付けられた表示要求に含まれる対象メールのメッセージIDに基づいて、返信管理DB230の中から対象メールの引用元となるメールを検索する機能を有する。ここで、引用元となるメールとは、例えば、対象メールの返信元または転送元となるメールである。
返信管理DB230は、メールシステム200にて送信されたメールのメッセージIDと、該メールの返信メールまたは転送メールのメッセージIDとを対応付けて記憶するものである。すなわち、返信管理DB230は、図6に示したように、引用元のメールのメッセージIDと引用先のメールのメッセージIDとを対応付けて記憶するものである。
具体的には、例えば、検索部1102が、返信管理DB230の中から、対象メールのメッセージIDが、引用先情報のメッセージIDに設定された返信管理情報を検索する。一例として、対象メールの表示要求に含まれるメッセージIDを「zumen4@xxx.ww」とする。
この場合、検索部1102が、返信管理DB230の中から、メッセージID「zumen4@xxx.ww」が、引用先情報のメッセージIDに設定された返信管理情報600−1を検索する。この返信管理情報600−1の引用元情報に設定されているメッセージID「zumen3@xxx.ww」のメールは、対象メールの返信元または転送元となるメール、すなわち、対象メールの引用元となるメールである。
また、対象メールの引用元となるメールには、さらに引用元となるメールが存在する場合がある。すなわち、対象メールには、引用元となるメールを介して、間接的に引用元となるメールが存在する場合がある。
そこで、検索部1102は、返信管理DB230の中から、検索した返信管理情報の引用元情報に設定されているメッセージIDが、引用先情報のメッセージIDに設定された返信管理情報を検索することにしてもよい。具体的には、例えば、検索部1102が、返信管理情報600−1の引用元情報に設定されているメッセージID「zumen3@xxx.ww」が、引用先情報のメッセージIDに設定された返信管理情報600−2を検索する。
このように、メッセージIDを手掛かりにして、返信管理DB230内の返信管理情報を追跡していくことにより、直接的または間接的に対象メールの引用元となるメールを検索することができる。図6の例では、メッセージID「zumen4@xxx.ww」の対象メールの引用元となるメールとして、メッセージID「zumen3@xxx.ww」、「zumen2@xxx.ww」および「zumen1@xxx.ww」のメールが検索される。
以下の説明では、検索された引用元となるメールを「引用元メール」という。また、直接的に対象メールの引用元となる引用元メールを「第1の引用元メール」と表記し、第Nの引用元メールの引用元となる引用元メールを「第(N+1)の引用元メール」と表記する場合がある(N:1以上の自然数)。
判定部1103は、引用元メールのメッセージIDに基づいて、メールDB220の記憶内容を参照して、引用元メールの受信状況を判定する機能を有する。また、判定部1103は、引用元メールのメッセージIDに基づいて、メールDB220の記憶内容を参照して、引用元メールの開封状況を判定することにしてもよい。
ここで、引用元メールの受信状況とは、引用元メールが受信されているか否かを示すものである。具体的には、例えば、引用元メールの受信状況は、対象メールの表示要求の要求元であるユーザ宛に引用元メールが送信されたか否かを示すものである。また、引用元メールの開封状況とは、例えば、引用元メールが開封されたか否かを示すものである。
また、メールDB220は、図5に示したように、メールシステム200にて送受信されたメールのメッセージIDと該メールが開封されたか否かを示す開封状況とを関連付けて記憶するものである。なお、引用元メールのメッセージIDは、例えば、検索された返信管理情報から特定される。
具体的には、例えば、まず、判定部1103が、メールDB220の中から、対象メールの表示要求に含まれるユーザIDに対応するメール情報群を特定する。これにより、メールDB220の中から、要求元のユーザのユーザIDに対応するメール情報を絞り込むことができる。
つぎに、判定部1103が、特定したメール情報群の中から、種別フィールドに「受信」が設定され、かつ、メッセージIDフィールドに引用元メールのメッセージIDが設定されているメール情報を検索する。ここで、該当するメール情報が検索されなかった場合、判定部1103が、引用元メールが未受信であると判定する。
一方、該当するメール情報が検索された場合、判定部1103が、該メール情報の開封状況フィールドに「済」が設定されているか否かを判定する。ここで、開封状況フィールドに「済」が設定されていない場合、判定部1103が、引用元メールが受信済みかつ未開封であると判定する。
一方、開封状況フィールドに「済」が設定されている場合、判定部1103が、引用元メールが受信済みかつ開封済みであると判定する。これにより、要求元のユーザに関する、引用元メールの受信状況および開封状況を判定することができる。上述した判定部1103の判定処理は、例えば、対象メールの引用元となる引用メールごとに行われる。
特定部1104は、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する機能を有する。ここで、引用部とは、他のメールの本文から引用された文字や記号を含むものであり、例えば、他のメールの本文から引用された引用文である。
具体的には、例えば、特定部1104が、引用元メールが未受信であると判定された場合、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する。また、特定部1104が、引用元メールが受信済みかつ未開封であると判定された場合、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定することにしてもよい。
ここで、メールの本文に含まれる引用部は、例えば、段落の最初に挿入されている引用符や、本文中に挿入されている引用部を表す「Original Message」といった文字列から特定することができる。引用符は、例えば、段落の最初に挿入されている「>」や「>>」である。
より具体的には、例えば、特定部1104は、メールの本文のうち段落の最初に引用符が挿入されている部分を特定することにより、本文のうちの引用部全体を特定することができる。また、特定部1104は、引用符の数や引用部を表す文字列を手掛かりに、本文に含まれる引用部を引用元メールごとに区別することができる。また、特定部1104は、引用符の数や引用部を表す文字列の出現順序によって、第Nの引用元メールの本文から引用された引用部を区別することができる。
ただし、対象メールの作成時に、対象メールの本文における引用部の位置が変更されたり引用符の一部が削除されている場合がある。この場合、引用符の数や引用部を表す文字列の出現順序によって、第Nの引用元メールの本文から引用された引用部を区別することが難しい。
そこで、例えば、特定部1104が、対象メールの本文の中から、他のメールの本文から引用された引用部、すなわち引用部全体を抽出する。また、特定部1104が、引用元メールの本文の中から、他の電子メールの本文から引用された引用部を除く残余の本文(発信しようとするユーザが今回新しく記載した文面)を抽出する。対象メールの本文は、例えば、メールDB220内の対象メールのメール情報から特定される。引用元メールの本文は、例えば、メールDB220内の引用元メールのメール情報から特定される。
つぎに、特定部1104が、対象メールの本文の中から抽出した引用部と、引用元メールの本文の中から抽出した残余の本文とを比較する。そして、特定部1104が、比較した比較結果に基づいて、対象メールの本文のうち引用元メールの本文から引用された引用部を特定する。
より詳細に説明すると、例えば、特定部1104が、対象メールの本文に含まれる引用部のうち、第Nの引用元メールの本文の中から抽出した残余の本文と一致する部分を、第Nの引用元メールの本文から引用された引用部として特定する。これにより、対象メールの作成時に、例えば、対象メールの本文における引用部の位置が変更されたり引用符の一部が削除されても、第Nの引用元メールの本文から引用された引用部を特定することができる。
変更部1105は、特定された引用部の表示形式を、対象メールの本文のうち該引用部を除く残余の本文の表示形式とは異なる他の表示形式に変更する機能を有する。ここで、表示形式とは、例えば、本文に含まれる文字や記号の背景色、フォント、文字色、大きさ、下線の有無などである。
具体的には、例えば、変更部1105が、引用元メールが未受信であると判定された場合、特定された引用部の表示形式を残余の本文の表示形式とは異なる第1の表示形式に変更する。また、変更部1105が、引用元メールが受信済みかつ未開封であると判定された場合、特定された引用部の表示形式を残余の本文の表示形式とは異なる第2の表示形式に変更することにしてもよい。
より具体的には、例えば、変更部1105が、図8に示した設定DB250を参照して、引用部の表示形式を変更することにしてもよい。例えば、引用元メールが受信済みかつ未開封の場合、変更部1105が、引用部の背景色を「赤」、フォントを「イタリック」、文字色を「赤」に変更する。また、例えば、引用元メールが未受信の場合、変更部1105が、引用部の背景色を「青」、フォントを「ボールド」、文字色を「青」に変更する。
つぎに、変更部1105が、メールDB220の中から対象メールのメール情報を抽出する。そして、変更部1105が、抽出したメール情報に基づいて、引用部の表示形式が変更された対象メールのメッセージ表示画面の画面情報を作成する。なお、通常の文章の背景色は「白」、フォントは「標準」、文字色は「黒」である。
出力部1106は、特定された引用部の表示形式が他の表示形式に変更された対象メールを出力する機能を有する。具体的には、例えば、出力部1106が、引用部の表示形式が変更された変更後の対象メールのメッセージ表示画面の画面情報を要求元のユーザのクライアント端末202に送信する。
この結果、クライアント端末202において、情報提供装置201からのメッセージ表示画面の画面情報に基づいて、引用部の表示形式が変更された変更後の対象メールのメッセージ表示画面がディスプレイ408に表示される。メッセージ表示画面の画面例については、図14を用い後述する。
また、出力部1106は、引用元メールが未受信である、または、引用元メールが受信済みかつ未開封であると判定された場合、対象メールに未読の引用部が含まれていることを報知する報知情報を対象メールと関連付けて出力することにしてもよい。報知情報は、例えば、対象メールに未読の引用部が含まれていることを表す文字列やアイコンなどである。
具体的には、例えば、出力部1106が、引用元メールが未受信の場合、対象メールに未受信のメールの本文から引用された引用部が含まれていることを報知する報知情報を含むメッセージ表示画面の画面情報をクライアント端末202に送信することにしてもよい。この結果、クライアント端末202において、対象メールに未受信のメールの本文から引用された引用部が含まれていることを報知する報知情報を含むメッセージ表示画面がディスプレイ408に表示される。
また、例えば、出力部1106が、引用元メールが未開封の場合、対象メールに未開封のメールの本文から引用された引用部が含まれていることを報知する報知情報を含むメッセージ表示画面の画面情報をクライアント端末202に送信することにしてもよい。この結果、クライアント端末202において、対象メールに未開封のメールの本文から引用された引用部が含まれていることを報知する報知情報を含むメッセージ表示画面がディスプレイ408に表示される。報知情報を含むメッセージ表示画面の画面例については、図15を用いて後述する。
また、出力部1106は、引用元メールが未受信または引用元メールが未開封の場合、対象メールに未読の引用部が含まれていることを報知する報知画面の画面情報をクライアント端末202に送信することにしてもよい。
この報知画面は、例えば、クライアント端末202のディスプレイ408に対象メールのメッセージ表示画面が表示される際に、メッセージ表示画面に重畳表示される。この報知画面には、例えば、引用元メールの送信元となるユーザを特定する発信者IDなどが含まれていてもよい。報知画面の画面例については、図16を用いて後述する。
また、出力部1106は、引用元メールが未受信または引用元メールが未開封の場合、対象メールに未読の引用部が含まれていることを報知する音声情報をクライアント端末202に送信することにしてもよい。具体的には、例えば、出力部1106が、対象メールのメッセージ表示画面の画面情報とともに音声情報をクライアント端末202に送信する。
音声情報としては、例えば、『このメールには未読の引用部が含まれているため注意してください』といった未読の引用部の存在を注意喚起するものがある。この音声情報は、例えば、クライアント端末202のディスプレイ408に対象メールのメッセージ表示画面が表示される際に音声出力される。
また、出力部1106は、引用元メールが未受信であると判定された判定結果、または、引用元メールが受信済みかつ未開封であると判定された判定結果をクライアント端末202に送信することにしてもよい。具体的には、例えば、出力部1106が、対象メールのメッセージ表示画面の画面情報とともに上記判定結果をクライアント端末202に送信する。
クライアント端末202は、上記判定結果を受信した場合、対象メールのメッセージ表示画面を表示する際に、上述した報知画面や音声情報を出力することにしてもよい。なお、報知画面の画面情報や音声情報は、例えば、予め作成されてROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。
(一連のメールの具体例)
つぎに、メールシステム200にて送受信された一連のメールの具体例について説明する。図12は、メールシステム200にて送受信された一連のメールの一実施例を示す説明図である。
図12において、(1)「田中さん」から「佐藤さん」にメールM1が送信されている。メールM1は、メッセージID「zumen1@xxx.ww」のメールである。(2)「佐藤さん」から「田中さん」と「山田さん」にメールM2が送信されている。メールM2は、メッセージID「zumen2@xxx.ww」のメールである。
(3)「田中さん」から「佐藤さん」と「山田さん」にメールM3が送信されている。メールM3は、メッセージID「zumen3@xxx.ww」のメールである。(4)「佐藤さん」から「田中さん」と「山田さん」にメールM4が送信されている。メールM4は、メッセージID「zumen4@xxx.ww」のメールである。
(メールの本文の一例)
ここで、「佐藤さん」から「田中さん」と「山田さん」に送信されたメールM4の本文について説明する。
図13は、メールの本文の一例を示す説明図である。図13において、本文1300は、「佐藤さん」から「田中さん」と「山田さん」に送信されたメールM4の本文である。本文1300には、引用部1310と、引用部1320と、引用部1330と、が含まれている。
ここで、情報提供装置201が、「山田さん」が使用するクライアント端末202から、メールM4の表示要求を受け付けた場合を想定する。この表示要求には、「山田さん」のユーザID「yamada@xxx.ww」と、対象メールのメールID「zumen4@xxx.ww」とが含まれている。
この場合、検索部1102により、対象メールM4のメッセージID「zumen4@xxx.ww」を手掛かりにして、返信管理DB230の中から、対象メールM4の引用元メールM1,M2,M3が検索される。
つぎに、判定部1103により、メールDB220の中から、対象メールM4の表示要求に含まれるユーザID「yamada@xxx.ww」に対応するメール情報(例えば、メール500−1〜500−7)が特定される。
つぎに、判定部1103により、特定したメール情報の中から、メッセージIDフィールドに、引用元メールのメッセージIDが設定されているメール情報が検索される。ここでは、引用元メールM1,M2,M3のうち、引用元メールM2,M3のメッセージIDが設定されているメール情報500−5,500−3が検索される。
また、判定部1103により、検索したメール情報500−5,500−3の開封状況フィールドに「済」が設定されているか否かが判定される。ここでは、メール情報500−5の開封状況フィールドに「未」が設定され、メール情報500−3の開封状況フィールドに「済」が設定されている。
この結果、判定部1103により、引用元メールM2が受信済みかつ未開封であると判定され、引用元メールM3が受信済みかつ開封済みであると判定される。また、判定部1103により、引用元メールM1,M2,M3のうち、メール情報が検索されなかった引用元メールM1が未受信であると判定される。
つぎに、特定部1104により、対象メールM4の本文1300のうち、受信済みかつ未開封と判定された引用元メールM2の本文から引用された引用部1320が特定される。具体的には、例えば、特定部1104により、対象メールの本文1300の引用部1310,1320,1330と、引用元メールM2の本文のうち引用部を除く残余の本文とが比較された結果、引用部1320が特定される。
同様に、特定部1104により、対象メールM4の本文1300のうち、未受信と判定された引用元メールM1の本文から引用された引用部1330が特定される。なお、未受信と判定された引用元メールM1の本文は、例えば、返信管理DB230の引用元情報の発信者IDに対応するメールDB220内のメール情報から特定される。
ここで、引用部1320は、受信済みかつ未開封と判定された引用元メールM2の本文から引用されたものである。このため、変更部1105により、設定DB250を参照して、引用部1320の背景色が「赤」、フォントが「イタリック」、文字色が「赤」に変更される。
また、引用部1330は、未受信と判定された引用元メールM1の本文から引用されたものである。このため、変更部1105により、設定DB250を参照して、引用部1330の背景色が「青」、フォントが「ボールド」、文字色が「青」に変更される。
(メッセージ表示画面の画面例)
ここで、対象メールM4の本文1300のうち、引用部1320および引用部1330の背景色が変更された場合を例に挙げて、クライアント端末202のディスプレイ408に表示されるメッセージ表示画面の画面例について説明する。この画面例は、「山田さん」からメールM4の表示要求を受け付けた場合のものである。
図14は、メッセージ表示画面の画面例を示す説明図(その1)である。図14において、対象メールM4のメッセージ表示画面1400がディスプレイ408に表示されている。このディスプレイ408は、対象メールM4の表示要求の要求元となる「山田さん」が使用するクライアント端末202のディスプレイ408である。
メッセージ表示画面1400において、受信済みかつ未開封と判定された引用元メールM2の本文から引用された引用部1320の背景色が「赤」に変更されて表示されている(図14中、符号1410)。また、メッセージ表示画面1400において、未受信と判定された引用元メールM1の本文から引用された引用部1330の背景色が「青」に変更されて表示されている(図14中、符号1420)。
メッセージ表示画面1400によれば、引用部1320,1330の背景色が他と異なる背景色に変更されているため、対象メールM4の本文に含まれる未読の引用部1320,1330の存在に「山田さん」が気付きやすくなる。また、引用部1320の背景色と引用部1330の背景色とが異なるものになっているため、各引用部1320,1330を、そもそも引用元メールが送られてきていないために未読なのか、引用元メールを受信しているのに開封していないために未読なのかを「山田さん」が把握することができる。
これらのことから、対象メールM4の閲覧時に、「山田さん」は、例えば、最初に未読の引用部1320,1330の内容を把握した上で、対象メールM4の本文を冒頭から読み直すといった読み方をすることができ、本文の内容を理解しやすくなる。
なお、メッセージ表示画面1400において、ボタンB2がクリックされると、対象メールM4の返信メールを作成するメッセージ作成画面の表示要求が情報提供装置201に送信された結果、メッセージ作成画面がディスプレイ408に表示される。メッセージ作成画面は、例えば、図10に示したメッセージ作成画面1000である。
また、メッセージ表示画面1400において、ボタンB3がクリックされると、対象メールM4の転送メールを作成するメッセージ作成画面の表示要求が情報提供装置201に送信された結果、メッセージ作成画面がディスプレイ408に表示される。また、メッセージ表示画面1400において、ボタンB6がクリックされると、例えば、図4に示したプリンタ413により対象メールM4が印刷出力される。
(報知情報を含むメッセージ表示画面の画面例)
つぎに、本文に未読の引用文が含まれていることを報知する報知情報を含む対象メールのメッセージ表示画面の画面例について説明する。この画面例は、「山田さん」からメールM4の表示要求を受け付けた場合のものである。
図15は、メッセージ表示画面の画面例を示す説明図(その2)である。図15において、対象メールM4のメッセージ表示画面1500がディスプレイ408に表示されている。メッセージ表示画面1500では、対象メールM4の本文1300の全文が一画面に収まらなかったため、引用部1320,1330が非表示となっている。
メッセージ表示画面1500には、受信済みでかつ未開封のメールの本文から引用された引用部が含まれていることを報知する報知情報1510が含まれている。また、メッセージ表示画面1500には、未受信のメールの本文から引用された引用部が含まれていることを報知する報知情報1520が含まれている。
報知情報1510によれば、例えば、「山田さん」は、対象メールM4の本文を読み始める前に、未開封の引用元メールの本文から引用された未読の引用部の存在に気付くことができる。また、報知情報1520によれば、例えば、「山田さん」は、対象メールM4の本文を読み始める前に、未受信の引用元メールの本文から引用された未読の引用部の存在に気付くことができる。
このように、メッセージ表示画面1500によれば、ヘッダ情報等を表示する表示領域に報知情報1510,1520を表示することができる。これにより、対象メールM4の本文全体が一画面に収まらず表示内容をスクロールさせないと未読の引用部が表示されない状況であっても、ユーザに対して未読の引用部の存在を報知することができる。
(報知画面の画面例)
つぎに、対象メールに未読の引用部が含まれていることを報知する報知画面の画面例について説明する。この画面例は、「山田さん」からメールM4の表示要求を受け付けた場合のものである。
図16は、報知画面の画面例を示す説明図である。図16において、対象メールM4のメッセージ表示画面1610と報知画面1600とがディスプレイ408に重畳表示されている。報知画面1600は、対象メールM4に未受信のメールの本文から引用された引用部が含まれていることを報知するポップアップ画面である。
報知画面1600には、未受信の引用元メールの発信者のユーザ名「田中さん」が表示されている。なお、ユーザ名は、例えば、ユーザIDと対応付けてRAM303、磁気ディスク306、光ディスク308などの記憶装置に記憶されている。
報知画面1600によれば、例えば、「山田さん」は、対象メールM4の本文を読み始める前に、未受信の引用元メールの本文から引用された未読の引用部の存在に気付くことができる。このように、メッセージ表示画面1610とは別の画面として報知画面1600を表示することにより、未読の引用部の存在を注意喚起することができ、ユーザによる未読の引用部の気付き漏れを防ぐことができる。なお、報知画面1600のボタンB7がクリックされると、報知画面1600の表示が終了する。
(クライアント端末202の情報処理手順)
つぎに、実施の形態1にかかるクライアント端末202の情報処理手順について説明する。
図17および図18は、実施の形態1にかかるクライアント端末202の情報処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、CPU401により、キーボード410やマウス411を用いたユーザの操作入力により、メール一覧画面の表示要求を受け付けたか否かを判断する(ステップS1701)。
ここで、CPU401により、メール一覧画面の表示要求を受け付けるのを待つ(ステップS1701:No)。そして、CPU401により、メール一覧画面の表示要求を受け付けた場合(ステップS1701:Yes)、メール一覧画面の表示要求を情報提供装置201に送信する(ステップS1702)。
つぎに、CPU401により、情報提供装置201から認証画面の画面情報を受信したか否かを判断する(ステップS1703)。ここで、CPU401により、認証画面の画面情報を受信するのを待つ(ステップS1703:No)。
そして、CPU401により、認証画面の画面情報を受信した場合(ステップS1703:Yes)、受信した画面情報に基づいて、ディスプレイ408に認証画面を表示する(ステップS1704)。つぎに、CPU401により、ユーザの操作入力によりユーザIDおよびパスワードの入力を受け付けたか否かを判断する(ステップS1705)。
ここで、CPU401により、ユーザIDおよびパスワードの入力を受け付けるのを待つ(ステップS1705:No)。そして、CPU401により、ユーザIDおよびパスワードの入力を受け付けた場合(ステップS1705:Yes)、ユーザIDおよびパスワードを情報提供装置201に送信する(ステップS1706)。
つぎに、CPU401により、認証エラー画面の画面情報を受信したか否かを判断する(ステップS1707)。ここで、CPU401により、認証エラー画面の画面情報を受信した場合(ステップS1707:Yes)、受信した画面情報に基づいて、ディスプレイ408に認証エラー画面を表示して(ステップS1708)、本フローチャートによる一連の処理を終了する。
一方、CPU401により、認証エラー画面の画面情報を受信していない場合(ステップS1707:No)、メール一覧画面の画面情報を受信したか否かを判断する(ステップS1709)。ここで、CPU401により、メール一覧画面の画面情報を受信していない場合(ステップS1709:No)、ステップS1707に戻る。
一方、CPU401により、メール一覧画面の画面情報を受信した場合(ステップS1709:Yes)、受信した画面情報に基づいて、ディスプレイ408にメール一覧画面を表示して(ステップS1710)、図18に示すステップS1801に移行する。
図18のフローチャートにおいて、まず、CPU401により、ユーザの操作入力によりメール一覧画面の中から対象メールの選択を受け付けたか否かを判断する(ステップS1801)。ここで、対象メールの選択を受け付けていない場合(ステップS1801:No)、ステップS1803に移行する。
一方、CPU401により、対象メールの選択を受け付けた場合(ステップS1801:Yes)、対象メールの表示要求を情報提供装置201に送信する(ステップS1802)。この表示要求には、例えば、クライアント端末202のユーザのユーザIDと、対象メールのメッセージIDとが含まれている。
つぎに、CPU401により、メッセージ表示画面の画面情報を受信したか否かを判断する(ステップS1803)。ここで、メッセージ表示画面の画面情報を受信していない場合(ステップS1803:No)、ステップS1805に移行する。
一方、CPU401により、メッセージ表示画面の画面情報を受信した場合(ステップS1803:Yes)、受信した画面情報に基づいて、ディスプレイ408にメッセージ表示画面を表示する(ステップS1804)。
つぎに、CPU401により、ユーザの操作入力によりメッセージ作成画面の表示要求を受け付けたか否かを判断する(ステップS1805)。ここで、メッセージ作成画面の表示要求を受け付けていない場合(ステップS1805:No)、ステップS1807に移行する。
一方、CPU401により、メッセージ作成画面の表示要求を受け付けた場合(ステップS1805:Yes)、メール送信処理を実行する(ステップS1806)。そして、CPU401により、ユーザの操作入力によりログアウト要求を受け付けたか否かを判断する(ステップS1807)。
ここで、ログアウト要求を受け付けていない場合(ステップS1807:No)、ステップS1801に戻る。一方、CPU401により、ログアウト要求を受け付けた場合(ステップS1807:Yes)、ログアウト要求を情報提供装置201に送信して(ステップS1808)、本フローチャートによる一連の処理を終了する。
これにより、対象メールの本文のうちユーザが未読の引用部の表示形式が変更されたメッセージ表示画面をディスプレイ408に表示することができる。
つぎに、図18に示したステップS1806のメール送信処理の具体的な処理手順について説明する。
図19は、実施の形態1にかかるメール送信処理の具体的処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、CPU401により、メッセージ作成画面の表示要求を情報提供装置201に送信する(ステップS1901)。
つぎに、CPU401により、メッセージ作成画面の画面情報を情報提供装置201から受信したか否かを判断する(ステップS1902)。ここで、CPU401により、メッセージ作成画面の画面情報を受信するのを待つ(ステップS1902:No)。
そして、CPU401により、メッセージ作成画面の画面情報を受信した場合(ステップS1902:Yes)、受信した画面情報に基づいて、メッセージ作成画面をディスプレイ408に表示する(ステップS1903)。つぎに、CPU401により、ユーザの操作入力により宛先、タイトル、本文等の入力を受け付ける(ステップS1904)。
そして、CPU401により、ユーザの操作入力によりメールの送信要求を受け付けたか否かを判断する(ステップS1905)。ここで、CPU401により、メールの送信要求を受け付けるのを待つ(ステップS1905:No)。
そして、CPU401により、メールの送信要求を受け付けた場合(ステップS1905:Yes)、送信対象となるメールを情報提供装置201に送信して(ステップS1906)、図18に示したステップS1807に移行する。これにより、メッセージ作成画面において作成されたメールを宛先に設定されたアドレス宛に送信することができる。
(情報提供装置201の情報提供処理手順)
つぎに、実施の形態1にかかる情報提供装置201の情報提供処理手順について説明する。図20は、実施の形態1にかかる情報提供装置201の情報提供処理手順の一例を示すフローチャートである。
図20のフローチャートにおいて、まず、CPU301により、メール一覧画面の表示要求をクライアント端末202から受信したか否かを判断する(ステップS2001)。ここで、CPU301により、メール一覧画面の表示要求を受信するのを待つ(ステップS2001:No)。
そして、CPU301により、メール一覧画面の表示要求を受信した場合(ステップS2001:Yes)、認証画面の画面情報をクライアント端末202に送信する(ステップS2002)。つぎに、CPU301により、ユーザIDおよびパスワードをクライアント端末202から受信したか否かを判断する(ステップS2003)。
ここで、CPU301により、ユーザIDおよびパスワードを受信するのを待つ(ステップS2003:No)。そして、CPU301により、ユーザIDおよびパスワードを受信した場合(ステップS2003:Yes)、図7に示した認証DB240を参照して、ユーザの認証処理を実行する(ステップS2004)。
具体的には、例えば、CPU301が、認証DB240を参照して、受信したユーザIDに対応するパスワードを特定する。そして、CPU301が、受信したパスワードと、特定したパスワードとの一致判定を行う。この結果、パスワードが一致する場合、CPU301がユーザを認証する。一方、パスワードが不一致の場合、CPU301がユーザを認証しない。
つぎに、CPU301により、ユーザが認証されたか否かを判断する(ステップS2005)。ここで、ユーザが認証された場合(ステップS2005:Yes)、CPU301により、メールDB220の中から、受信したユーザIDに対応する受信メールのメール情報を抽出する(ステップS2006)。なお、受信メールとは、種別フィールドに「受信」が設定されているメールである。
つぎに、CPU301により、抽出したメール情報に基づいて、メール一覧画面の画面情報を作成する(ステップS2007)。この際、CPU301が、メールの発生日時が新しい順にソートされたメール一覧画面の画面情報を作成することにしてもよい。
そして、CPU301により、メール一覧画面の画面情報をクライアント端末202に送信する(ステップS2008)。このクライアント端末202は、ステップS2001において受信されたメール一覧画面の表示要求の要求元のクライアント端末202である。
つぎに、CPU301により、メッセージ作成画面の表示要求をクライアント端末202から受信したか否かを判断する(ステップS2009)。ここで、CPU301により、メッセージ作成画面の表示要求を受信していない場合(ステップS2009:No)、ステップS2011に移行する。
一方、CPU301により、メッセージ作成画面の表示要求を受信した場合(ステップS2009:Yes)、メール送信処理を実行する(ステップS2010)。つぎに、CPU301により、対象メールの表示要求をクライアント端末202から受信したか否かを判断する(ステップS2011)。
ここで、CPU301により、対象メールの表示要求を受信していない場合(ステップS2011:No)、ステップS2014に移行する。一方、CPU301により、対象メールの表示要求を受信した場合(ステップS2011:Yes)、メールDB220内の対象メールの表示要求に含まれるメッセージIDに対応するメール情報の開封状況を「済」に変更する(ステップS2012)。
つぎに、CPU301により、メッセージ表示画面の画面情報を作成する表示画面作成処理を実行する(ステップS2013)。そして、CPU301により、ログアウト要求をクライアント端末202から受信したか否かを判断する(ステップS2014)。
ここで、CPU301により、ログアウト要求を受信していない場合(ステップS2014:No)、ステップS2009に戻る。一方、CPU301により、ログアウト要求を受信した場合(ステップS2014:Yes)、本フローチャートによる一連の処理を終了する。
また、ステップS2005において、ユーザが認証されなかった場合(ステップS2005:No)、CPU301により、認証エラー画面の画面情報をクライアント端末202に送信して(ステップS2015)、本フローチャートによる一連の処理を終了する。
これにより、ユーザからの各種表示要求に対して、メール一覧画面、メッセージ作成画面およびメッセージ表示画面の画面情報をクライアント端末202に提供することができる。
つぎに、図20に示したステップS2010のメール送信処理の具体的な処理手順について説明する。
図21および図22は、実施の形態1にかかるメール送信処理の具体的処理手順の一例を示すフローチャートである。図21のフローチャートにおいて、まず、CPU301により、新規メールのメッセージIDとヘッダ情報を生成する(ステップS2101)。
つぎに、CPU301により、新規メールが他のメールを返信するものか否かを判断する(ステップS2102)。ここで、新規メールが他のメールを返信するものではない場合(ステップS2102:No)、図22に示すステップS2201に移行する。
一方、新規メールが他のメールを返信するものである場合(ステップS2102:Yes)、CPU301により、返信元となるメールのメッセージIDと発信者IDとを取得する(ステップS2103)。
返信元となるメールのメッセージIDと発信者IDは、返信元となるメールのヘッダ情報から取得されてもよく、また、返信元となるメールのメール情報から取得されてもよい。返信元となるメールは、例えば、図20に示したステップS2011において表示要求が受信された対象メールである。
つぎに、CPU301により、返信管理DB230の引用先情報に新規メールのメッセージIDと発信者IDとを設定し(ステップS2104)、引用元情報に返信元となるメールのメッセージIDと発信者IDとを設定する(ステップS2105)。これにより、返信管理DB230に新たな返信管理情報が作成される。なお、新規メールの発信者IDは、例えば、図20に示したステップS2003において受信されたユーザIDである。
そして、CPU301により、メッセージ作成画面の画面情報を作成する(ステップS2106)。具体的には、例えば、CPU301が、返信先を宛先とし、返信元となるメールの本文を引用文として挿入したメッセージ作成画面の画面情報を作成する。なお、返信先は、例えば、返信元となるメールの発信者IDである。
つぎに、CPU301により、メッセージ作成画面の画面情報をクライアント端末202に送信する(ステップS2107)。このクライアント端末202は、図20に示したステップS2009において受信されたメッセージ作成画面の表示要求の要求元のクライアント端末202である。
そして、CPU301により、送信対象となるメールをクライアント端末202から受信したか否かを判断する(ステップS2108)。ここで、CPU301により、送信対象となるメールを受信するのを待つ(ステップS2108:No)。
そして、CPU301により、送信対象となるメールを受信した場合(ステップS2108:Yes)、メールDB220に送信対象となるメールのメール情報を登録して(ステップS2109)、図20に示したステップS2011に移行する。
具体的には、利用者IDフィールドに、送信対象となるメールの発信者IDが設定され、種別フィールドに「送信」が設定された、送信対象となるメールのメール情報が登録される。また、利用者IDフィールドに、送信対象となるメールの宛先が設定され、種別フィールドに「受信」が設定された、送信対象となるメールのメール情報が登録される。
図22のフローチャートにおいて、まず、CPU301により、新規メールが他のメールを転送するものか否かを判断する(ステップS2201)。ここで、新規メールが他のメールを転送するものである場合(ステップS2201:Yes)、CPU301により、転送元となるメールのメッセージIDと発信者IDとを取得する(ステップS2202)。
転送元となるメールのメッセージIDと発信者IDは、転送元となるメールのヘッダ情報から取得されてもよく、また、転送元となるメールのメール情報から取得されてもよい。転送元となるメールは、例えば、図20に示したステップS2011において表示要求が受信された対象メールである。
つぎに、CPU301により、返信管理DB230の引用先情報に新規メールのメッセージIDと発信者IDとを設定し(ステップS2203)、引用元情報に転送元となるメールのメッセージIDと発信者IDを設定する(ステップS2204)。これにより、返信管理DB230に新たな返信管理情報が作成される。
そして、CPU301により、メッセージ作成画面の画面情報を作成して(ステップS2205)、図21に示したステップS2107に移行する。具体的には、例えば、CPU301が、転送元となるメールの本文を引用文として挿入したメッセージ作成画面の画面情報を作成する。
また、ステップS2201において、新規メールが他のメールを転送するものではない場合(ステップS2201:No)、CPU301により、メッセージ作成画面の画面情報を作成して(ステップS2206)、図21に示したステップS2107に移行する。具体的には、例えば、CPU301が、宛先、CC、タイトル、本文を空欄としたメッセージ作成画面の画面情報を作成する。
これにより、メールシステム200にて送信されたメールのメール情報をメールDB220に登録することができる。また、メールシステム200にて送信されたメールのメッセージIDと、該メールの返信メールまたは転送メールのメッセージIDとを対応付けて記憶する返信管理DB230を作成することができる。
つぎに、図20に示したステップS2013の表示画面作成処理の具体的な処理手順について説明する。
図23および図24は、実施の形態1にかかる表示画面作成処理の具体的処理手順の一例を示すフローチャートである。図23のフローチャートにおいて、まず、CPU301により、メールDB220の中から対象メールのメール情報を抽出する(ステップS2301)。
つぎに、CPU301により、返信管理DB230の中から、対象メールのメッセージIDが、引用先情報のメッセージIDに設定された返信管理情報を検索する(ステップS2302)。そして、CPU301により、返信管理情報が検索されたか否かを判断する(ステップS2303)。
ここで、返信管理情報が検索された場合(ステップS2303:Yes)、CPU301により、メールDB220の中から、ユーザIDに対応するメール情報群を特定する(ステップS2304)。ユーザIDは、図20に示したステップS2011において受信された対象メールの表示要求に含まれている。
つぎに、CPU301により、メール情報群の中から、種別フィールドに「受信」が設定され、メッセージIDフィールドに、引用元メールのメッセージIDが設定されているメール情報を検索する(ステップS2305)。引用元メールのメッセージIDは、返信管理情報の引用元情報から特定される。
そして、CPU301により、メール情報が検索されたか否かを判断する(ステップS2306)。ここで、メール情報が検索された場合(ステップS2306:Yes)、図24に示すステップS2401に移行する。
一方、メール情報が検索されなかった場合(ステップS2306:No)、CPU301により、返信管理情報の引用元情報に基づいて、メールDB220の中から引用元メールの本文を取得する(ステップS2307)。
つぎに、CPU301により、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する(ステップS2308)。そして、CPU301により、引用元メールの本文から引用された引用部が特定されたか否かを判断する(ステップS2309)。ここで、引用部が特定されなかった場合(ステップS2309:No)、ステップS2312に移行する。
一方、引用部が特定された場合(ステップS2309:Yes)、CPU301により、設定DB250を参照して、未受信引用の文章に対応する背景色、フォント、文字色を特定する(ステップS2310)。そして、CPU301により、未受信引用の文章に対応する背景色、フォント、文字色に基づいて、対象メールの本文のうち特定した引用部の表示形式を変更する(ステップS2311)。
つぎに、CPU301により、返信管理DB230の中から、引用元メールのメッセージIDが、引用先情報のメッセージIDに設定された返信管理情報を検索する(ステップS2312)。そして、CPU301により、返信管理情報が検索されたか否かを判断する(ステップS2313)。
ここで、返信管理情報が検索された場合(ステップS2313:Yes)、ステップS2305に戻る。一方、返信管理情報が検索されなかった場合(ステップS2313:No)、CPU301により、ステップS2311または/およびステップS2406において変更された表示形式の変更結果に基づいて、メッセージ表示画面の画面情報を作成する(ステップS2314)。
そして、CPU301により、メッセージ表示画面の画面情報をクライアント端末202に送信して(ステップS2315)、図20に示したステップS2014に移行する。このクライアント端末202は、図20に示したステップS2011において受信された対象メールの表示要求の要求元のクライアント端末202である。
また、ステップS2303において、返信管理情報が検索されなかった場合(ステップS2303:No)、CPU301により、メッセージ表示画面の画面情報を作成して(ステップS2316)、ステップS2315に移行する。このメッセージ表示画面は、設定DB250の通常の文章に対応する背景色、フォント、文字色に基づいて作成される。
図24のフローチャートにおいて、まず、CPU301により、図23に示したステップS2305において検索されたメール情報の開封状況を特定する(ステップS2401)。そして、CPU301により、メール情報の開封状況が未開封か否かを判断する(ステップS2402)。
ここで、メール情報の開封状況が開封済みの場合(ステップS2402:No)、図23に示したステップS2312に移行する。一方、メール情報の開封状況が未開封の場合(ステップS2402:Yes)、CPU301により、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する(ステップS2403)。
そして、CPU301により、引用元メールの本文から引用された引用部が特定されたか否かを判断する(ステップS2404)。ここで、引用部が特定されなかった場合(ステップS2404:No)、図23に示したステップS2312に移行する。
一方、引用部が特定された場合(ステップS2404:Yes)、CPU301により、設定DB250を参照して、未開封引用の文章に対応する背景色、フォント、文字色を特定する(ステップS2405)。そして、CPU301により、未開封引用の文章に対応する背景色、フォント、文字色に基づいて、対象メールの本文のうち特定した引用部の表示形式を変更して(ステップS2406)、図23に示したステップS2312に移行する。
これにより、対象メールの本文のうちユーザが未読の引用部の表示形式が変更されたメッセージ表示画面の画面情報をクライアント端末202に送信することができる。
以上説明したように、実施の形態1にかかる情報提供装置201によれば、返信管理DB230の中から、対象メールのメッセージIDが引用先情報に設定された返信管理情報を検索することにより、対象メールの引用元メールを検索することができる。また、情報提供装置201によれば、返信管理DB230の中から、検索した引用元メールのメッセージIDが引用先情報に設定された返信管理情報を検索することにより、間接的に対象メールの引用元となる引用元メールを検索することができる。また、情報提供装置201によれば、要求元のユーザIDと引用元メールのメッセージIDとに基づいて、メールDB220を参照して、引用元メールの受信状況、または、引用元メールの受信状況および開封状況を判定することができる。
これにより、引用元メールの受信状況や開封状況から、対象メールに含まれる引用部を要求元のユーザが読んでいるか否かを推定して、対象メールに含まれる未読の引用部の存在をユーザに対して報知することができるようになる。
また、情報提供装置201によれば、対象メールの本文のうち引用元メールの本文から引用された引用部を特定し、引用部の表示形式を、対象メールの本文のうち引用部を除く残余の本文の表示形式とは異なる他の表示形式に変更することができる。
これにより、対象メールの閲覧時に対象メールに含まれる未読の引用部にユーザが気付きやすくなり、例えば、最初に未読の引用部の内容を把握した上で、本文を冒頭から読み直すといった読み方をすることができ、本文の内容を理解しやすくなる。
また、情報提供装置201によれば、引用元メールが未受信の場合は、引用部の表示形式を未受信引用部用の表示形式に変更し、引用元メールが未開封の場合は、引用部の表示形式を未開封引用部用の表示形式に変更することができる。
これにより、対象メールの本文に含まれる引用部を、そもそも引用元メールが送られてきていないために未読なのか、引用元メールを受信しているのに開封していないために未読なのかをユーザが把握することができる。
また、情報提供装置201によれば、対象メールの本文から抽出された他のメールの本文から引用された引用部と、引用元メールの本文から抽出された他のメールの本文から引用された引用部を除く残余の本文とを比較することができる。また、情報提供装置201によれば、該比較結果に基づいて、対象メールの本文のうちの引用元メールの本文から引用された引用部を特定することができる。
これにより、対象メールの作成時に、例えば、対象メールの本文における引用部の位置が変更されたり引用符の一部が削除されても、対象メールの本文のうちの引用元メールの本文から引用された引用部を特定することができる。
また、情報提供装置201によれば、引用元メールが未受信または未開封の場合、対象メールに未読の引用部が含まれていることを報知する報知情報を対象メールと関連付けて出力することができる。例えば、引用元メールが未受信の場合、対象メールに未受信のメールの本文から引用された引用部が含まれていることを報知する報知情報を出力することができる。また、引用元メールが未開封の場合、対象メールに未開封の電子メールの本文から引用された引用部が含まれていることを報知する報知情報を出力することができる。
これにより、メッセージ表示画面において、対象メールの本文の表示領域とは異なる他の表示領域、例えば、ヘッダ情報等を表示する表示領域に報知情報を表示することが可能となる。また、メッセージ表示画面とは異なる報知画面をポップアップ表示したり、報知情報を音声出力することができる。この結果、例えば、対象メールの本文全体が一画面に収まらないために表示内容をスクロールさせないと未読の引用部が表示されない状況であっても、ユーザに対して未読の引用部の存在を報知することができる。
(実施の形態2)
つぎに、実施の形態2にかかるメールシステム2500について説明する。実施の形態2では、実施の形態1で説明した情報提供方法を、メールシステム2500内のサーバ2501とクライアント端末2502とが連携して動作することにより実現する。なお、実施の形態1で説明した箇所と同様の箇所については図示および説明を省略する。
(メールシステム2500のシステム構成例)
図25は、実施の形態2にかかるメールシステム2500のシステム構成例を示す説明図である。図25において、メールシステム2500は、サーバ2501と、複数のクライアント端末2502(図面では、3台)と、を含む。メールシステム2500において、サーバ2501および複数のクライアント端末2502は、有線または無線のネットワーク210を介して相互に通信可能に接続されている。
ここで、サーバ2501は、メールDB220、返信管理DB230および認証DB240を有し、メールシステム2500内の電子メールの送受信を行うコンピュータである。クライアント端末2502は、メールDB2510および設定DB250を有し、電子メールの表示、作成、送受信を行うコンピュータである。
メールDB2510は、クライアント端末2502のユーザを送信元または送信先とするメールのメール情報を記憶している。なお、メールDB2510のデータ構造については、図5に示したメールDB220のデータ構造とほぼ同様のため説明を省略する。また、サーバ2501のハードウェア構成は、図3に示した情報提供装置201のハードウェア構成と同一のため説明を省略する。また、クライアント端末2502のハードウェア構成は、図4に示したクライアント端末202のハードウェア構成と同一のため説明を省略する。
(クライアント端末2502の機能的構成例)
図26は、実施の形態2にかかるクライアント端末2502の機能的構成例を示すブロック図である。図26において、クライアント端末2502は、受付部2601と、判定部2602と、特定部2603と、変更部2604と、受信部2605と、送信部2606と、出力部2607と、を含む。受付部2601〜出力部2607は、制御部となる機能であり、具体的には、例えば、図4に示したROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F409により、その機能を実現する。
受付部2601は、対象メールの表示要求を受け付ける機能を有する。具体的には、例えば、受付部2601が、図4に示したキーボード410やマウス411を用いたユーザの操作入力により、ディスプレイ408に表示されたメール一覧画面の中から対象メールの選択を受け付ける。
送信部2606は、対象メールの表示要求が受け付けられた場合、対象メールのメッセージIDをサーバ2501に送信する機能を有する。受信部2605は、対象メールのメッセージIDが送信された結果、対象メールの引用元となる引用元メールのメッセージIDを受信する機能を有する。
このように、対象メールのメッセージIDをサーバ2501に送信することにより、対象メールの引用元となる引用元メールを検索することができる。
判定部2602は、引用元メールのメッセージIDに基づいて、メールDB2510の記憶内容を参照して、引用元メールの受信状況を判定する機能を有する。また、判定部2602は、引用元メールのメッセージIDに基づいて、メールDB2510の記憶内容を参照して、引用元メールの開封状況を判定することにしてもよい。
なお、判定部2602の具体的な処理内容は、実施の形態1で説明した情報提供装置201の判定部1103と同様のため、ここでは詳細な説明を省略する。
特定部2603は、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する機能を有する。具体的には、例えば、特定部2603が、引用元メールが受信済みかつ未開封であると判定された場合、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する。
なお、引用元メールが受信済みかつ未開封であると判定された場合の特定部2603の具体的な処理内容は、実施の形態1で説明した情報提供装置201の特定部1104と同様のため、ここでは詳細な説明を省略する。
一方、引用元メールが未受信であると判定された場合、引用元メールのメール情報がメールDB2510に記憶されていないため、特定部2603が、引用元メールの引用照合チェック依頼をサーバ2501に送信する。ここで、引用照合チェック依頼とは、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する処理を要求するものである。引用照合チェック依頼には、例えば、引用元メールのメッセージIDが含まれている。
また、受信部2605は、引用元メールの引用照合チェック依頼がサーバ2501に送信された結果、引用元メールの引用照合チェックのチェック結果をサーバ2501から受信する機能を有する。このチェック結果には、例えば、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する情報が含まれている。
このように、引用元メールの引用照合チェック依頼をサーバ2501に送信することにより、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定することができる。
変更部2604は、特定された引用部の表示形式を、対象メールの本文のうち該引用部を除く残余の本文の表示形式とは異なる他の表示形式に変更する機能を有する。なお、変更部2604の具体的な処理内容は、実施の形態1で説明した情報提供装置201の変更部1105と同様のため、ここでは詳細な説明を省略する。
出力部2607は、特定された引用部の表示形式が他の表示形式に変更された対象メールを出力する機能を有する。なお、出力部2607の具体的な処理内容は、実施の形態1で説明した情報提供装置201の出力部1106と同様のため、ここでは詳細な説明を省略する。
(サーバ2501の機能的構成例)
図27は、実施の形態2にかかるサーバ2501の機能的構成例を示すブロック図である。図27において、サーバ2501は、受信部2701と、検索部2702と、特定部2703と、送信部2704と、を含む。受信部2701〜送信部2704は、制御部となる機能であり、具体的には、例えば、図3に示したROM302、RAM303、磁気ディスク306、光ディスク308などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F304により、その機能を実現する。
受信部2701は、対象メールのメッセージIDをクライアント端末2502から受信する機能を有する。また、受信部2701は、引用元メールの引用照合チェック依頼をクライアント端末2502から受信する機能を有する。
検索部2702は、受信された対象メールのメッセージIDに基づいて、返信管理DB230の中から対象メールの引用元となる引用元メールを検索する機能を有する。なお、検索部2702の具体的な処理内容は、実施の形態1で説明した情報提供装置201の検索部1102と同様のため、ここでは詳細な説明を省略する。
特定部2703は、引用元メールの引用照合チェック依頼が受信された場合、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する機能を有する。なお、特定部2703の具体的な処理内容は、実施の形態1で説明した情報提供装置201の特定部1104と同様のため、ここでは詳細な説明を省略する。
送信部2704は、検索された対象メールの引用元となる引用元メールのメッセージIDをクライアント端末2502に送信する機能を有する。また、送信部2704は、引用元メールの引用照合チェックのチェック結果をクライアント端末2502に送信する機能を有する。このチェック結果には、対象メールの本文のうち引用元メールの本文から引用された引用部が特定されたか否かを示す情報と、特定された該引用部を表す情報が含まれている。
(クライアント端末2502の情報提供処理手順)
つぎに、実施の形態2にかかるクライアント端末2502の情報提供処理手順について説明する。図28および図29は、実施の形態2にかかるクライアント端末2502の情報提供処理手順の一例を示すフローチャートである。
図28のフローチャートにおいて、まず、クライアント端末2502のCPU401により、メール一覧画面の表示要求を受け付けたか否かを判断する(ステップS2801)。ここで、CPU401により、メール一覧画面の表示要求を受け付けるのを待つ(ステップS2801:No)。
そして、CPU401により、メール一覧画面の表示要求を受け付けた場合(ステップS2801:Yes)、ディスプレイ408に認証画面を表示する(ステップS2802)。つぎに、CPU401により、ユーザの操作入力によりユーザIDおよびパスワードの入力を受け付けたか否かを判断する(ステップS2803)。
ここで、CPU401により、ユーザIDおよびパスワードが入力されるのを待つ(ステップS2803:No)。そして、ユーザIDおよびパスワードが入力された場合(ステップS2803:Yes)、CPU401により、ユーザIDおよびパスワードをサーバ2501に送信する(ステップS2804)。
つぎに、CPU401により、ユーザの認証結果をサーバ2501から受信したか否かを判断する(ステップS2805)。ここで、CPU401により、ユーザの認証結果を受信するのを待つ(ステップS2805:No)。そして、ユーザの認証結果が受信された場合(ステップS2805:Yes)、CPU401により、受信された認証結果に基づいて、ユーザが認証されたか否かを判断する(ステップS2806)。
ここで、ユーザが認証された場合(ステップS2806:Yes)、CPU401により、新着メールのメール情報をサーバ2501から受信したか否かを判断する(ステップS2807)。ここで、新着メールのメール情報が受信されていない場合(ステップS2807:No)、ステップS2809に移行する。
一方、新着メールのメール情報が受信された場合(ステップS2807:Yes)、CPU401により、受信された新着メールのメール情報をメールDB2510に登録する(ステップS2808)。そして、CPU401により、メールDB2510の記憶内容に基づいて、ディスプレイ408にメール一覧画面を表示して(ステップS2809)、図29に示すステップS2901に移行する。
また、ステップS2806において、ユーザが認証されなかった場合(ステップS2806:No)、CPU401により、ディスプレイ408に認証エラー画面を表示して(ステップS2810)、本フローチャートによる一連の処理を終了する。
図29のフローチャートにおいて、まず、CPU401により、ユーザの操作入力により対象メールの選択を受け付けたか否かを判断する(ステップS2901)。ここで、CPU401により、対象メールの選択を受け付けるのを待つ(ステップS2901:No)。
そして、対象メールの選択を受け付けた場合(ステップS2901:Yes)、CPU401により、メールDB2510内の対象メールのメール情報の開封状況を「済」に変更する(ステップS2902)。つぎに、CPU401により、メッセージ表示画面の画面情報を作成する表示画面作成処理を実行する(ステップS2903)。
つぎに、CPU401により、ユーザの操作入力によりメールの送信要求を受け付けたか否かを判断する(ステップS2904)。ここで、メールの送信要求を受け付けていない場合(ステップS2904:No)、ステップS2906に移行する。一方、メールの送信要求を受け付けた場合(ステップS2904:Yes)、CPU401により、メール送信処理を実行する(ステップS2905)。
つぎに、CPU401により、ユーザの操作入力によりログアウト要求を受け付けたか否かを判断する(ステップS2906)。ここで、ログアウト要求を受け付けていない場合(ステップS2906:No)、ステップS2901に戻る。
一方、ログアウト要求を受け付けた場合(ステップS2906:Yes)、CPU401により、ログアウト要求をサーバ2501に送信して(ステップS2907)、本フローチャートによる一連の処理を終了する。
これにより、ユーザからの各種表示要求に対して、メール一覧画面、メッセージ作成画面およびメッセージ表示画面をディスプレイ408に表示することができる。
つぎに、図29に示したステップS2903の表示画面作成処理の具体的な処理手順について説明する。
図30および図31は、実施の形態2にかかる表示画面作成処理の具体的処理手順の一例を示すフローチャートである。図30のフローチャートにおいて、まず、CPU401により、メールDB2510の中から対象メールのメール情報を抽出する(ステップS3001)。
つぎに、CPU401により、対象メールのメッセージIDをサーバ2501に送信する(ステップS3002)。そして、CPU401により、対象メールの引用元となる引用元メールのメッセージIDをサーバ2501から受信したか否かを判断する(ステップS3003)。
ここで、引用元メールのメッセージIDが受信された場合(ステップS3003:Yes)、CPU401により、メールDB2510の中から、種別フィールドに「受信」が設定され、メッセージIDフィールドに、引用元メールのメッセージIDが設定されているメール情報を検索する(ステップS3004)。
そして、CPU401により、メール情報が検索されたか否かを判断する(ステップS3005)。ここで、メール情報が検索された場合(ステップS3005:Yes)、図31に示すステップS3101に移行する。
一方、メール情報が検索されなかった場合(ステップS3005:No)、CPU401により、引用元メールの引用照合チェック依頼をサーバ2501に送信する(ステップS3006)。そして、CPU401により、引用元メールの引用照合チェックのチェック結果をサーバ2501から受信したか否かを判断する(ステップS3007)。
ここで、CPU401により、引用元メールの引用照合チェックのチェック結果を受信するのを待つ(ステップS3007:No)。そして、引用元メールの引用照合チェックのチェック結果が受信された場合(ステップS3007:Yes)、CPU401により、引用元メールの本文から引用された引用部が特定されたか否かを判断する(ステップS3008)。
ここで、引用部が特定されなかった場合(ステップS3008:No)、ステップS3011に移行する。一方、引用部が特定された場合(ステップS3008:Yes)、CPU401により、設定DB250を参照して、未受信引用の文章に対応する背景色、フォント、文字色を特定する(ステップS3009)。
そして、CPU401により、未受信引用の文章に対応する背景色、フォント、文字色に基づいて、対象メールの本文のうち特定した引用部の表示形式を変更する(ステップS3010)。つぎに、CPU401により、引用元メールのメッセージIDをサーバ2501に送信する(ステップS3011)。
そして、CPU401により、引用元メールの引用元となる引用元メールのメッセージIDをサーバ2501から受信したか否かを判断する(ステップS3012)。ここで、引用元メールのメッセージIDが受信された場合(ステップS3012:Yes)、ステップS3004に戻る。
一方、引用元メールのメッセージIDが受信されなかった場合(ステップS3012:No)、CPU401により、ステップS3010または/およびステップS3106において変更された表示形式の変更結果に基づいて、メッセージ表示画面の画面情報を作成する(ステップS3013)。
そして、CPU401により、作成したメッセージ表示画面の画面情報に基づいて、ディスプレイ408にメッセージ表示画面を表示して(ステップS3014)、図29に示したステップS2904に移行する。
また、ステップS3003において、引用元メールのメッセージIDが受信されなかった場合(ステップS3003:No)、CPU401により、メッセージ表示画面の画面情報を作成して(ステップS3015)、ステップS3014に移行する。このメッセージ表示画面は、設定DB250の通常の文章に対応する背景色、フォント、文字色に基づいて作成される。
図31のフローチャートにおいて、まず、CPU401により、図30に示したステップS3004において検索されたメール情報の開封状況を特定する(ステップS3101)。そして、CPU401により、メール情報の開封状況が未開封か否かを判断する(ステップS3102)。
ここで、メール情報の開封状況が開封済みの場合(ステップS3102:No)、図30に示したステップS3011に移行する。一方、メール情報の開封状況が未開封の場合(ステップS3102:Yes)、CPU401により、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する(ステップS3103)。
そして、CPU401により、引用元メールの本文から引用された引用部が特定されたか否かを判断する(ステップS3104)。ここで、引用部が特定されなかった場合(ステップS3104:No)、図30に示したステップS3011に移行する。
一方、引用部が特定された場合(ステップS3104:Yes)、CPU401により、設定DB250を参照して、未開封引用の文章に対応する背景色、フォント、文字色を特定する(ステップS3105)。そして、CPU401により、未開封引用の文章に対応する背景色、フォント、文字色に基づいて、対象メールの本文のうち特定した引用部の表示形式を変更して(ステップS3106)、図30に示したステップS3011に移行する。
これにより、対象メールの本文のうちユーザが未読の引用部の表示形式が変更されたメッセージ表示画面をディスプレイ408に表示することができる。
つぎに、図29に示したステップS2905のメール送信処理の具体的な処理手順について説明する。図32および図33は、実施の形態2にかかるメール送信処理の具体的処理手順の一例を示すフローチャートである。
図32のフローチャートにおいて、まず、CPU401により、新規メールのメッセージIDとヘッダ情報を生成する(ステップS3201)。つぎに、CPU401により、新規メールが他のメールを返信するものか否かを判断する(ステップS3202)。ここで、新規メールが他のメールを返信するものではない場合(ステップS3202:No)、図33に示すステップS3301に移行する。
一方、新規メールが他のメールを返信するものである場合(ステップS3202:Yes)、CPU401により、返信元となるメールのメッセージIDと発信者IDとを取得する(ステップS3203)。返信元となるメールのメッセージIDと発信者IDは、例えば、返信元となるメールのヘッダ情報から取得される。
つぎに、CPU401により、新規メールのメッセージID、発信者IDと、返信元となるメールのメッセージID、発信者IDとをサーバ2501に送信する(ステップS3204)。そして、CPU401により、メッセージ作成画面の画面情報を作成する(ステップS3205)。
つぎに、CPU401により、作成したメッセージ作成画面の画面情報に基づいて、ディスプレイ408にメッセージ作成画面を表示する(ステップS3206)。そして、CPU401により、ユーザの操作入力により宛先、タイトル、本文等の入力を受け付ける(ステップS3207)。
そして、CPU401により、ユーザの操作入力によりメールの送信要求を受け付けたか否かを判断する(ステップS3208)。ここで、CPU401により、メールの送信要求を受け付けるのを待つ(ステップS3208:No)。
そして、CPU401により、メールの送信要求を受け付けた場合(ステップS3208:Yes)、送信対象となるメールをサーバ2501に送信する(ステップS3209)。つぎに、CPU401により、メールDB2510に送信対象となるメールのメール情報を登録して(ステップS3210)、図29に示したステップS2906に移行する。
図33のフローチャートにおいて、まず、CPU401により、新規メールが他のメールを転送するものか否かを判断する(ステップS3301)。ここで、新規メールが他のメールを転送するものである場合(ステップS3301:Yes)、CPU401により、転送元となるメールのメッセージIDと発信者IDとを取得する(ステップS3302)。転送元となるメールのメッセージIDと発信者IDは、例えば、転送元となるメールのヘッダ情報から取得される。
つぎに、CPU401により、新規メールのメッセージID、発信者IDと、転送元となるメールのメッセージID、発信者IDとをサーバ2501に送信する(ステップS3303)。そして、CPU401により、メッセージ作成画面の画面情報を作成して(ステップS3304)、図32に示したステップS3206に移行する。
また、ステップS3301において、新規メールが他のメールを転送するものではない場合(ステップS3301:No)、CPU401により、メッセージ作成画面の画面情報を作成して(ステップS3305)、図32に示したステップS3206に移行する。
これにより、新規メールのメッセージID、発信者IDと、返信元または転送元となるメールのメッセージID、発信者IDとをサーバ2501に送信することができる。
なお、ステップS3201において生成されるメッセージIDは、異なるクライアント端末2502で生成されたメッセージID同士が重複しないように、例えば、各クライアント端末2502固有のIPアドレスやドメイン名を含むものである。また、ステップS3201において、クライアント端末2502が、メッセージIDの発行要求をサーバ2501に送信することで、メールシステム2500で一意に識別可能なメッセージIDをサーバ2501から取得することにしてもよい。
(サーバ2501の情報提供処理)
つぎに、実施の形態2にかかるサーバ2501の情報提供処理手順について説明する。図34および図35は、実施の形態2にかかるサーバ2501の情報提供処理手順の一例を示すフローチャートである。
図34のフローチャートにおいて、まず、CPU301により、ユーザIDおよびパスワードをクライアント端末2502から受信したか否かを判断する(ステップS3401)。ここで、CPU301により、ユーザIDおよびパスワードを受信するのを待つ(ステップS3401:No)。
そして、ユーザIDおよびパスワードが受信された場合(ステップS3401:Yes)、CPU301により、認証DB240を参照して、ユーザの認証処理を実行する(ステップS3402)。つぎに、CPU301により、ユーザが認証されたか否かを判断する(ステップS3403)。
ここで、ユーザが認証された場合(ステップS3403:Yes)、CPU301により、メールDB220の中に、新着メールのメール情報があるか否かを判断する(ステップS3404)。この新着メールは、ステップS3401において受信されたユーザID宛のメールである。
ここで、新着メールのメール情報がある場合(ステップS3404:Yes)、CPU301により、メールDB220の中から新着メールのメール情報を抽出する(ステップS3405)。そして、CPU301により、新着メールのメール情報をクライアント端末2502に送信して(ステップS3406)、図35に示すステップS3501に移行する。
また、ステップS3404において、新着メールのメール情報がない場合(ステップS3404:No)、図35に示すステップS3501に移行する。また、ステップS3403において、ユーザが認証されなかった場合(ステップS3403:No)、CPU301により、ユーザが認証されなかったことを示す認証エラーをクライアント端末2502に送信して(ステップS3407)、本フローチャートによる一連の処理を終了する。
図35のフローチャートにおいて、まず、CPU301により、対象メールのメッセージIDをクライアント端末2502から受信したか否かを判断する(ステップS3501)。ここで、対象メールのメッセージIDが受信されていない場合(ステップS3501:No)、ステップS3503に移行する。
一方、対象メールのメッセージIDが受信された場合(ステップS3501:Yes)、CPU301により、対象メールの引用元となる引用元メールを検索する検索処理を実行する(ステップS3502)。つぎに、CPU301により、引用照合チェック依頼をクライアント端末2502から受信したか否かを判断する(ステップS3503)。
ここで、引用照合チェック依頼が受信されていない場合(ステップS3503:No)、ステップS3505に移行する。一方、引用照合チェック依頼が受信された場合(ステップS3503:Yes)、CPU301により、引用元メールの本文から引用された引用部を特定する特定処理を実行する(ステップS3504)。
つぎに、CPU301により、新規メールのメッセージID等をクライアント端末2502から受信したか否かを判断する(ステップS3505)。新規メールのメッセージID等とは、新規メールのメッセージID、発信者ID、および、返信元または転送元となるメールのメッセージID、発信者IDである。
ここで、新規メールのメッセージID等が受信されなかった場合(ステップS3505:No)、ステップS3508に移行する。一方、新規メールのメッセージID等が受信された場合(ステップS3505:Yes)、CPU301により、返信管理DB230の引用先情報に新規メールのメッセージIDと発信者IDとを設定する(ステップS3506)。
そして、CPU301により、引用元情報に返信元または転送元となるメールのメッセージIDと発信者IDとを設定する(ステップS3507)。つぎに、CPU301により、送信対象となるメールをクライアント端末2502から受信したか否かを判断する(ステップS3508)。
ここで、送信対象となるメールが受信されなかった場合(ステップS3508:No)、ステップS3510に移行する。一方、送信対象となるメールが受信された場合(ステップS3508:Yes)、CPU301により、メールDB220に送信対象となるメールのメール情報を登録する(ステップS3509)。
そして、CPU301により、ログアウト要求をクライアント端末2502から受信したか否かを判断する(ステップS3510)。ここで、ログアウト要求が受信されなかった場合(ステップS3510:No)、ステップS3501に戻る。一方、ログアウト要求が受信された場合(ステップS3510:Yes)、本フローチャートによる一連の処理を終了する。
これにより、メールシステム200にて送信されたメールのメール情報をメールDB220に登録することができる。また、メールシステム200にて送信されたメールのメッセージIDと、該メールの返信メールまたは転送メールのメッセージIDとを対応付けて記憶する返信管理DB230を作成することができる。
つぎに、図35に示したステップS3502の検索処理の具体的な処理手順について説明する。
図36は、検索処理の具体的処理手順の一例を示すフローチャートである。図36のフローチャートにおいて、まず、CPU301により、メールDB220の中から対象メールのメール情報を抽出する(ステップS3601)。
つぎに、CPU301により、返信管理DB230の中から、対象メールのメッセージIDが、引用先情報のメッセージIDに設定された返信管理情報を検索する(ステップS3602)。そして、CPU301により、返信管理情報が検索されたか否かを判断する(ステップS3603)。
ここで、返信管理情報が検索された場合(ステップS3603:Yes)、CPU301により、返信管理情報の引用元情報のメッセージIDに設定された引用元メールのメッセージIDをクライアント端末2502に送信して(ステップS3604)、図35に示したステップS3503に移行する。一方、返信管理情報が検索されなかった場合(ステップS3603:No)、図35に示したステップS3503に移行する。
これにより、クライアント端末2502からの要求に応じて、対象メールの引用元となる引用元メールを検索して応答することができる。
つぎに、図35に示したステップS3504の特定処理の具体的な処理手順について説明する。
図37は、特定処理の具体的処理手順の一例を示すフローチャートである。図37のフローチャートにおいて、まず、CPU301により、引用照合チェック依頼に基づいて、メールDB220の中から引用元メールの本文を取得する(ステップS3701)。
つぎに、CPU301により、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定する(ステップS3702)。そして、CPU301により、引用元メールの引用照合チェックのチェック結果をクライアント端末2502に送信して(ステップS3703)、図35に示したステップS3505に移行する。
これにより、クライアント端末2502からの要求に応じて、対象メールの本文のうち、引用元メールの本文から引用された引用部を特定して応答することができる。
以上説明したように、実施の形態2にかかるメールシステム2500によれば、サーバ2501とクライアント端末2502とが連動して本情報提供方法を実現することができる。これにより、例えば、POP(Post Office Protocol)メールに対応したメーラが導入されたクライアント端末に本情報提供方法を適用することができる。
なお、本実施の形態で説明した情報提供方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
所定のアドレス宛に送信された対象電子メールの表示要求を受け付け、
受け付けた前記表示要求に含まれる前記対象電子メールの識別子に基づいて、引用元の電子メールの識別子と引用先の電子メールの識別子とを対応付けて記憶する第1の記憶部の中から、前記対象電子メールの引用元となる電子メールを検索し、
検索した前記引用元となる電子メールの識別子に基づいて、前記アドレス宛に送信された電子メールの識別子と前記電子メールが開封されたか否かを示す開封状況とを関連付けて記憶する第2の記憶部を参照して、前記引用元となる電子メールの受信状況、または、前記引用元となる電子メールの受信状況および開封状況を判定し、
判定した判定結果を前記対象電子メールと関連付けて出力する、
処理を実行させることを特徴とする情報提供プログラム。
(付記2)前記コンピュータに、
前記引用元となる電子メールが未受信である、または、前記引用元となる電子メールが受信済みかつ未開封であると判定された場合、前記対象電子メールの本文のうち、前記引用元となる電子メールの本文から引用された引用部を特定し、
特定した前記引用部の表示形式を、前記対象電子メールの本文のうち前記引用部を除く残余の本文の表示形式とは異なる他の表示形式に変更し、
前記引用部の表示形式を前記他の表示形式に変更した前記対象電子メールを出力する、
処理を実行させることを特徴とする付記1に記載の情報提供プログラム。
(付記3)前記変更する処理は、
前記引用元となる電子メールが未受信であると判定された場合、前記引用部の表示形式を前記残余の本文の表示形式とは異なる第1の表示形式に変更し、前記引用元となる電子メールが受信済みかつ未開封であると判定された場合、前記引用部の表示形式を前記残余の本文の表示形式とは異なる第2の表示形式に変更することを特徴とする付記2に記載の情報提供プログラム。
(付記4)前記コンピュータに、
前記引用元となる電子メールが未受信である、または、前記引用元となる電子メールが受信済みかつ未開封であると判定された場合、前記対象電子メールの本文の中から、他の電子メールの本文から引用された引用部を抽出し、
前記引用元となる電子メールの本文の中から、他の電子メールの本文から引用された引用部を除く残余の本文を抽出する、処理を実行させ、
前記特定する処理は、
抽出した前記引用部と抽出した前記残余の本文とを比較することにより、前記対象電子メールの本文のうち、前記引用元となる電子メールの本文から引用された引用部を特定することを特徴とする付記2または3に記載の情報提供プログラム。
(付記5)前記コンピュータに、
前記引用元となる電子メールが未受信である、または、前記引用元となる電子メールが受信済みかつ未開封であると判定された場合、前記対象電子メールに未読の引用部が含まれていることを報知する報知情報を前記対象電子メールと関連付けて出力する、
処理を実行させることを特徴とする付記1〜4のいずれか一つに記載の情報提供プログラム。
(付記6)前記報知情報を出力する処理は、
前記引用元となる電子メールが未受信であると判定された場合、前記対象電子メールに、未受信の電子メールの本文から引用された引用部が含まれていることを報知する報知情報を前記対象電子メールと関連付けて出力することを特徴とする付記5に記載の情報提供プログラム。
(付記7)前記報知情報を出力する処理は、
前記引用元となる電子メールが受信済みかつ未開封であると判定された場合、前記対象電子メールに、受信済みでかつ未開封の電子メールの本文から引用された引用部が含まれていることを報知する報知情報を前記対象電子メールと関連付けて出力することを特徴とする付記5または6に記載の情報提供プログラム。
(付記8)前記第2の記憶部は、利用者の識別子と前記利用者のアドレス宛に送信された電子メールの識別子と前記電子メールが開封されたか否かを示す開封状況とを関連付けて記憶しており、
前記コンピュータに、
前記第2の記憶部の中から、前記表示要求に含まれる利用者の識別子と関連付けて記憶されている電子メールの識別子と前記電子メールの開封状況とを特定し、
前記対象電子メールの識別子に基づいて、特定した前記電子メールの識別子と前記電子メールの開封状況とを参照して、前記引用元となる電子メールの受信状況、または、前記引用元となる電子メールの受信状況および開封状況を判定する、
処理を実行させることを特徴とする付記1〜7のいずれか一つに記載の情報提供プログラム。
(付記9)所定のアドレス宛に送信された対象電子メールの表示要求を受け付ける受付部と、
前記受付部によって受け付けられた前記表示要求に含まれる前記対象電子メールの識別子に基づいて、引用元の電子メールの識別子と引用先の電子メールの識別子とを対応付けて記憶する第1の記憶部の中から、前記対象電子メールの引用元となる電子メールを検索する検索部と、
前記検索部によって検索された前記引用元となる電子メールの識別子に基づいて、前記アドレス宛に送信された電子メールの識別子と前記電子メールが開封されたか否かを示す開封状況とを関連付けて記憶する第2の記憶部を参照して、前記引用元となる電子メールの受信状況、または、前記引用元となる電子メールの受信状況および開封状況を判定する判定部と、
前記判定部によって判定された判定結果を前記対象電子メールと関連付けて出力する出力部と、
を有することを特徴とする情報提供装置。
(付記10)コンピュータが、
所定のアドレス宛に送信された対象電子メールの表示要求を受け付け、
受け付けた前記表示要求に含まれる前記対象電子メールの識別子に基づいて、引用元の電子メールの識別子と引用先の電子メールの識別子とを対応付けて記憶する第1の記憶部の中から、前記対象電子メールの引用元となる電子メールを検索し、
検索した前記引用元となる電子メールの識別子に基づいて、前記アドレス宛に送信された電子メールの識別子と前記電子メールが開封されたか否かを示す開封状況とを関連付けて記憶する第2の記憶部を参照して、前記引用元となる電子メールの受信状況、または、前記引用元となる電子メールの受信状況および開封状況を判定し、
判定した判定結果を前記対象電子メールと関連付けて出力する、
処理を実行することを特徴とする情報提供方法。