以下、電子メールシステムの一実施形態について、図1〜図28に基づいて詳細に説明する。図1には、一実施形態に係る電子メールシステム100が概略的に示されている。
本実施形態の電子メールシステム100は、図1に示すように、サーバ10と、クライアント20と、を備える。サーバ10とクライアント20は、インターネットやLAN(Local Area Network)などのネットワーク80に接続されている。この電子メールシステム100は、クライアント20においてブラウザ上に表示されるWEBメールの画面(サーバ10から提供)内で利用者が入力や操作を行うことで、クライアント20間における電子メールのやり取りを可能にするシステムである。なお、以下においては、電子メールを「メール」と略述するものとする。
図2(a)には、サーバ10のハードウェア構成が示されている。図2(a)に示すように、サーバ10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、及び可搬型記憶媒体用ドライブ99等を備えている。これらサーバ10の構成各部は、バス98に接続されている。サーバ10では、ROM92あるいはHDD96に格納されているプログラム(メール処理プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(メール処理プログラムを含む)をCPU90が実行することにより、図3に示すメール処理部40としての機能が実現される。メール処理部40は、メールの送受信や、クライアント20において表示されるメールに関する画面の生成や送信に関する各種処理を実行する。なお、図3には、サーバ10のHDD96等に格納されている利用者DB(database)30、メールDB32、登録場所DB34、事務所マップDB36、会議室マップDB37、設定テーブル38、保存形態用テーブル39も図示されている。なお、各DB30〜37、テーブル38、39の具体的なデータ構造等については後述する。
図2(b)には、クライアント20のハードウェア構成が示されている。図2(b)に示すように、クライアント20は、CPU190、ROM192、RAM194、記憶部(HDD)196、ディスプレイ193、入力部195、ネットワークインタフェース197、及び可搬型記憶媒体用ドライブ199等を備えており、クライアント20の構成各部は、バス198に接続されている。ディスプレイ193は、液晶ディスプレイ等を含み、入力部195は、キーボードやマウス、タッチパネル等を含む。クライアント20においては、CPU190がプログラムを実行することで、図3に示す表示処理部50及び入力処理部52としての機能が実現される。表示処理部50は、サーバ10のメール処理部40からの指示に応じて、クライアント20のディスプレイ193上にメール作成、送受信に関する画面を表示したりする。入力処理部52は、クライアント20の利用者が入力部195を介して入力した情報を受け付け、当該情報をサーバ10のメール処理部40に対して送信する。
ここで、サーバ10が有する各種DB及びテーブルについて説明する。
図4には、利用者DB30のデータ構造の一例が示されている。利用者DB30は、利用者がログインする際の認証に用いる情報と勤務地(勤務先事務所)を格納するデータベースである。この利用者DB30は、図4に示すように、「ID(メールアドレス)」と、IDに対応する「パスワード」と、「勤務地」の各フィールドを有している。例えば、図4からは、ID「satou@xxx.ww」の勤務地(勤務先事務所)が「本社」であることがわかる。
図5には、メールDB32のデータ構造の一例が示されている。メールDB32は、クライアント20間で送受信されたメールの情報を格納するデータベースであり、利用者ごとに用意される。なお、図5は、IDが「yamada@xxx.ww」の利用者に対応するメールDBである。
メールDB32は、図5に示すように、「種別」、「メッセージID」、「送信者ID」、「メール情報(日時、宛先、件名、本文)」の各フィールドを有する。
「種別」のフィールドには、メールが利用者IDに対応する利用者によって送信されたのか受信されたのかの情報が入力される。「メッセージID」のフィールドには、メール毎に定義されるユニークなIDが入力される。図5ではメールと対応づけがしやすいような文字列としているが、実際には英数字が無意味に並んだ文字列となる。「送信者ID」のフィールドには、メールの差出人のID(メールアドレス)が入力される。なお、「種別」のフィールドが「送信」である場合には、送信者IDとしてメールDB32に対応する利用者のIDが入力される。「メール情報(日時、宛先、件名、本文)」のフィールドには、メールの送信日時、宛先のID(メールアドレス)、件名及び本文そのものが入力される。なお、「種別」のフィールドが「受信」である場合には、宛先には、メールDB32に対応する利用者のIDが含まれることになる。なお、本実施形態では、利用者ごとにメールDB32を作成し、管理することとしているが、これに限らず、1つのメールDBにて、複数の利用者の送受信メール情報を管理することとしてもよい。
図6には、登録場所DB34の一例が示されている。登録場所DB34は、各利用者が登録した、イベント(会議など)を開催する可能性のある場所(事務所、会議室)を管理するDBである。登録場所DB34は、図6に示すように、「利用者ID」と、「登録済事務所MAP_ID」と、「登録済会議室MAP_ID」の各フィールドを有する。「利用者ID」のフィールドには、イベントを開催する可能性のある場所を登録した利用者のID(メールアドレス)が格納される。「登録済事務所MAP_ID」のフィールドには、利用者が登録した事務所(本社や蒲田事務所、大阪事務所など)の地図に対応するIDが格納される。「登録済会議室MAP_ID」のフィールドには、利用者が登録した会議室の地図(各事務所内における会議室の位置を示す図(フロアマップ))に対応するIDが格納される。なお、本実施形態では、利用者が自発的に登録することとしているが、一度利用した場所(事務所、会議室)が自動的に登録されてもよい。
図7には、事務所マップDB36の一例が示されている。事務所マップDB36は、事務所の地図情報等を管理するデータベースである。事務所マップDB36は、図7に示すように、「事務所MAP_ID」、「事務所」、「事務所ACCESS」、「事務所MAP」の各フィールドを有している。「事務所MAP_ID」のフィールドには、事務所の地図に対応するIDが格納される。「事務所」のフィールドには、事務所名が格納される。「事務所ACCESS」のフィールドには、事務所への案内情報(最寄り駅からの道順や所要時間などを示す情報)が格納される。「事務所MAP」のフィールドには、事務所の地図そのものが格納される。
図8には、会議室マップDB37の一例が示されている。会議室マップDB37は、会議室の地図情報(フロアマップ)を管理するデータベースである。会議室マップDB37は、図8に示すように、「会議室MAP_ID」、「会議室」、「階」、「会議室MAP」、「事務所MAP_ID」の各フィールドを有している。「会議室MAP_ID」のフィールドには、会議室の地図(フロアマップ)に対応するIDが格納される。「会議室」のフィールドには、会議室名が格納されている。「階」のフィールドには、事務所内において会議室が存在しているフロア名(階数)が格納されている。「会議室MAP」のフィールドには、会議室の地図(フロアマップ)そのものが格納される。「事務所MAP_ID」のフィールドには、会議室が存在している事務所の地図に対応するIDが格納される。
図9(a)には、設定テーブル38の一例が示されている。設定テーブル38は、メール送信者(作成者)がイベントの開催日時や場所の情報をメールに挿入して送信するときに生成されるテーブルである。設定テーブル38は、「マップ対応ID」、「会議室MAP_ID」、「利用者ID」、「設定日時」、「メッセージID」の各フィールドを有する。「マップ対応ID」のフィールドには、設定テーブル38に記録された情報(レコード)の通し番号が格納される。「会議室MAP_ID」のフィールドには、メール送信者が選択したイベント開催会場(会議室)の地図に対応するIDが格納される。「利用者ID」のフィールドには、メール送信者のID(メールアドレス)が格納される。「設定日時」のフィールドには、メール送信者が選択したイベント開催日時(会議開始日時)の情報が格納される。「メッセージID」のフィールドには、メール送信者が送信した際に付与されるメールのメッセージIDが格納される。
図9(b)の保存形態用テーブル39は、メール受信者がメールを表示し、保存した画面の形態(保存形態)を記録するテーブルである。「マップ対応ID」のフィールドには、メール送信時に格納された設定テーブル38のマップ対応IDが格納される。「利用者ID」のフィールドには、メール受信者のID(メールアドレス)が格納される。「保存形態」のフィールドには、メール受信者がメールを保存した形態を示す番号が格納される。なお、保存形態を示す番号は、図9(c)の表に示すルールに則って定められるが、これについては、後に詳述する。
次に、本実施形態におけるメール処理部40の処理について、図10〜図16のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。
図10の処理では、まず、ステップS10において、メール処理部40は、メール表示要求をクライアント20から受信するまで待機する。クライアント20の利用者は、クライアント20のディスプレイ193上に表示されているブラウザ上でWEBメールサービスのアドレスに対してアクセスすることによりメール表示要求を出すことができる。なお、メール表示要求は、クライアント20の入力処理部52から送信される。
メール処理部40は、入力処理部52から送信されてきたメール表示要求を受信すると(ステップS10の判断が肯定されると)、ステップS12に移行する。ステップS12では、メール処理部40は、ID(メールアドレス)、パスワード入力画面のデータをクライアント20(表示処理部50)に対して送信する。クライアント20においては、表示処理部50が、ID(メールアドレス)、パスワード入力画面のデータを受信した段階で、該画面(図17(a))をディスプレイ193上に表示する。
次いで、ステップS14では、メール処理部40が、ID(メールアドレス)、パスワードをクライアント20から受信するまで待機する。なお、利用者がIDとパスワードを図17(a)の画面上で入力し、送信ボタンを押すと、入力処理部52は、IDとパスワードをメール処理部40に送信する。
入力処理部52からメール処理部40に対して利用者IDとパスワードが送信されると(ステップS14の判断が肯定されると)、ステップS16に移行する。ステップS16では、メール処理部40が、利用者DB30(図4)を用いて利用者の認証を実行する。次いで、ステップS18では、メール処理部40が、認証がOKであったか否かを判断する。ここでの判断が否定された場合、ステップS20に移行し、メール処理部40は、認証エラー画面のデータを作成して、クライアント20(表示処理部50)に対して送信する。表示処理部50は、該データを受信した段階で、認証エラー画面(図17(b))をディスプレイ193上に表示する。その後は、メール処理部40は、図10〜図16の全処理を終了する。
一方、ステップS18の判断が肯定された場合、すなわち認証がOKであった場合には、ステップS22に移行する。ステップS22では、メール処理部40は、メールDB32(図5)を用いて、入力された利用者IDに対応する受信メール一覧画面のデータを生成して、クライアント20に送信する。この場合の受信メール一覧画面は、図18に示すような画面であるものとする。ステップS22では、メール処理部40は、入力された利用者IDに対応するメールDB32から、種別が「受信」であるメール情報を取得する。そして、メール処理部40は、送信者IDを「差出人」、メール情報の件名を「件名」、メール情報の日時を「受信日時」として、受信メール一覧画面を生成する。なお、図18の受信メール一覧画面の「日時場所」や「保存形態」の欄についての説明は後述する。なお、図18に示すようにメール一覧表示画面には、「新規作成」、「返信」、「ログアウト」のボタンが設けられているものとする。クライアント20の表示処理部50は、該画面のデータを受信した段階で、図18の受信メール表示画面をディスプレイ193上に表示する。その後は、図11のステップS30に移行する。
図11のステップS30に移行すると、メール処理部40は、メッセージの閲覧要求をクライアント20から受信したか否かを判断する。なお、メッセージの閲覧要求は、クライアント20の利用者が、図18のメール一覧表示画面上において、あるメールを選択した場合に、入力処理部52からメール処理部40に対して送信される。
ステップS30の判断が否定された場合には、ステップS32に移行する。ステップS32では、メール処理部40は、メール作成要求を受信したか否かを判断する。なお、メールの作成要求は、クライアント20の利用者が、図18のメール一覧表示画面上において「新規作成」ボタンを押すか、あるメールを選択後に「返信」ボタンを押した場合に、入力処理部52からメール処理部40に対して送信される。ステップS32の判断が肯定された場合には、ステップS34〜S42の処理を実行する。なお、本実施形態では、利用者(ID:satou@xxx.ww)が「新規作成」ボタンを押したものとする。
ステップS34では、メール処理部40が、メッセージ作成画面(図19(a))のデータを利用者(ID:satou@xxx.ww)が利用するクライアント20(表示処理部50)に送信する。クライアント20(表示処理部50)では、メッセージ作成画面のデータを受信した段階で、ディスプレイ193上にメッセージ作成画面を表示する。なお、図19(a)のメッセージ作成画面には、「送信」ボタンのほか、「日時・場所」ボタンも設けられている。「日時・場所」ボタンは、メールを作成する利用者が、イベント(会議等)の開催日時や開催場所の情報を簡易にメールに挿入したいときに押されるボタンである。なお、利用者が図18のメール一覧表示画面上において「返信」ボタンを押した場合には、メッセージ作成画面の宛先欄(To欄)に返信元のメールの差出人の情報が記入される。また、メッセージ作成画面の件名欄には、返信元のメールの件名に「Re:」が付加された件名の情報が記入され、本文の欄には、返信元のメールの本文が引用形式にて記入される。
次いで、ステップS36では、メール処理部40が、日時・場所の選択要求を受信したか否かを判断する。この場合、メールを作成する利用者によって、図19のメッセージ作成画面上の「日時・場所」ボタンが押された場合に、ステップS36の判断が肯定される。ステップS36の判断が肯定されると、ステップS38に移行する。
ステップS38に移行した場合、メール処理部40は、日時・場所選択処理のサブルーチン(図12)を実行する。なお、日時・場所選択処理の詳細については、後述する。
ステップS38の処理が終了した後、又はステップS36の判断が否定された場合には、ステップS40に移行し、メール処理部40は、メッセージの送信要求を受信したか否かを判断する。すなわち、メールを作成する利用者が、メッセージ作成画面上においてメールの作成を完了し、「送信」ボタンを押した場合に、ステップS40の判断は肯定される。なお、ステップS40の判断が否定され場合には、ステップS36に戻る。
ステップS40の判断が肯定されて、ステップS42に移行すると、メール処理部40は、送信処理のサブルーチン(図13)を実行する。なお、送信処理のサブルーチンの詳細については、後述する。
ステップS42の送信処理が終了した後、又はステップS32の判断が否定された場合(メール作成要求がクライアント20から送信されてきていない場合)には、メール処理部40は、ステップS44に移行する。
ステップS44では、メール処理部40は、ログアウト要求を受信したか否かを判断する。なお、ログアウト要求は、クライアント20の利用者が、図18のメール一覧表示画面上において、「ログアウト」ボタンを押した場合に、入力処理部52からメール処理部40に対して送信される。このステップS44の判断が否定された場合には、メール処理部40は、ステップS30に戻るが、肯定された場合には、図10〜図16の全処理を終了する。
一方、ステップS30の判断が肯定された場合、すなわち、クライアント20(入力処理部52)から、メッセージの閲覧要求を受信した場合には、ステップS48に移行する。ステップS48では、メール処理部40は、閲覧処理のサブルーチン(図14)を実行する。なお、閲覧処理のサブルーチンの詳細については、後述する。
(日時・場所選択処理)
以下、図11の日時・場所選択処理(S38)について、図12のフローチャートに沿って詳細に説明する。日時・場所選択処理は、利用者が、会議等のイベントの開催案内のメールを作成する際、開催日時や場所の情報をメールに挿入・添付するためにメッセージ作成画面の「日時・場所」ボタンを押した段階から開始される処理である。なお、本実施形態では、図19(b)に示すように、利用者(ID:satou@xxx.ww)がメールの宛先や件名、本文を記入し終えた段階で、「日時・場所」ボタンを押したものとする。
図12の処理では、まず、ステップS50において、メール処理部40は、日時設定画面(図20の符号G1)を重畳させたメッセージ作成画面のデータを生成し、クライアント20(表示処理部50)に対して送信する。この日時設定画面には、イベント(会議等)の開催日時を選択するための日付選択表示(カレンダ)と、時刻選択表示と、「設定」ボタンが設けられている。なお、クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図20の画面を表示する。
次いで、ステップS52では、メール処理部40は、日時の設定要求を受信するまで待機する。なお、日時の設定要求は、利用者が、日付選択表示上でイベント開催日を選択し、時刻選択表示上でイベント開催時刻を選択し、かつ「設定」ボタンを押した段階で、入力処理部52からメール処理部40に対して出力される。ステップS52の判断が肯定された場合(メール処理部40が、日時の設定要求を受信した場合)には、ステップS54に移行する。
ステップS54に移行すると、メール処理部40は、作成中メッセージに対応付けて、マップ対応IDを発行し、設定テーブル38に記録する。本実施形態では、図9に示すように、マップ対応IDとして通し番号「00543」が発行され、設定テーブル38に記録されたものとする。
次いで、ステップS56では、メール処理部40は、マップ対応IDに対応付けて、ステップS52で受信した設定日時を設定テーブル38に記録する。図20に示すように、利用者(ID:satou@xxx.ww)が日時「6月12日(火)14:30」を設定した場合には、当該日時をマップ対応ID「00543」に対応付けて設定テーブル38に記録する。
次いで、ステップS58では、メール処理部40が、差出人(ID:satou@xxx.ww)と選択中の宛先の利用者ID(yamada@xxx.ww、honda@xxx.ww)に対応する登録済事務所を登録場所DB34(図6)から取得する。そして、メール処理部40は、取得した登録済事務所を用いて、場所設定画面(図21の符号G2参照)のデータを生成する。この場合、メール処理部40は、登録場所DB34(図6)から取得した「登録済事務所MAP_ID」に対応する事務所名を事務所マップDB36(図7)から取得して、場所設定画面G2に表示する。なお、場所設定画面G2には、登録済事務所以外を選択するための「事務所検索」ボタンが設けられているものとする。また、ステップS58では、メール処理部40は、場所設定画面G2を重畳させたメッセージ作成画面(図21)のデータをクライアント20(表示処理部50)に対して送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図21の画面を表示する。
次いで、ステップS60では、メール処理部40が、登録済事務所の選択情報を受信したか否かを判断する。なお、登録済事務所の選択情報は、利用者(ID:satou@xxx.ww)が、場所設定画面G2において、「本社」、「川崎事務所」、「大阪事務所」、「蒲田事務所」のいずれかを選択した場合に、クライアント20(入力処理部52)からメール処理部40に対して送信される。
ステップS60における判断が否定されると、ステップS76において、メール処理部40が、事務所検索情報を受信したか否かを判断する。なお、事務所検索情報は、利用者(ID:satou@xxx.ww)が、図21の場所設定画面G2において「事務所検索」ボタンを押した場合に、クライアント20(入力処理部52)からメール処理部40に対して送信される。ステップS76の判断が否定されると、ステップS84に移行する。ステップS84では、メール処理部40は、場所設定画面G2が利用者(satou@xxx.ww)によって閉じられたか否かを判断する。なお、利用者(satou@xxx.ww)は、場所設定画面を閉じる場合には、場所設定画面の右上の×ボタンを押すものとする。ここでの判断が否定された場合には、ステップS60に戻る。
以降、ステップS60、S76、S84の判断を繰り返す。そして、ステップS60の判断が肯定されると(いずれかの登録済事務所が選択されると)、メール処理部40は、ステップS62〜S75の処理を実行する。
ステップS62では、メール処理部40は、登録場所DB34から対応する「登録済会議室」を取得する。例えば、ステップS60において「本社」(登録済事務所MAP_ID=M0001)が選択された場合には、「登録済会議室」として、登録済会議室MAP_ID=M000101、M000115を取得する。
次いで、ステップS64では、メール処理部40が、取得した会議室に対応づけて、それぞれの場所情報(「事務所ACCESS」、「事務所MAP」、「会議室MAP」)を事務所マップDB36(図7)と会議室マップDB37(図8)から取得する。そして、ステップS66では、メール処理部40が、場所選択リスト画面(図22の符号G3)のそれぞれの欄に取得した情報を挿入する(場所選択リスト画面G3を生成する)。
次いで、ステップS68では、メール処理部40が、ステップS66において生成した場所選択リスト画面G3を重畳したメッセージ作成画面(図22)のデータをクライアント20(表示処理部50)に対して送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図22の画面を表示する。
次いで、ステップS70では、メール処理部40が、場所の選択と設定要求を受信するまで待機する。この場合、利用者が、図22の場所選択リスト画面G3上において、「ルーム1」又は「6−1会議室」を選択し、「設定」ボタンを押した段階で、ステップS70の判断が肯定され、ステップS72に移行することになる。なお、本実施形態では、ステップS70において「ルーム1」が選択されたものとする。
ステップS72に移行すると、メール処理部40は、設定テーブル38(図9(a))のマップ対応ID(ここでは、マップ対応ID=00543)に対応付けて、選択された場所情報を「会議室MAP_ID」のフィールドに記録する。
次いで、ステップS74では、メール処理部40が、設定テーブル38に記録された日時・場所情報(「設定日時」及び「会議室MAP_ID」のフィールドに記録されている情報)をメッセージ作成画面のメール本文に挿入する。具体的には、図23に示すように、メッセージ作成画面の本文の末尾(シグネチャーの上)に、「日時:2012年6月12日(火)14:30〜」と、「場所:本社 3階 ルーム1」を挿入する。次いで、ステップS75では、メール処理部40が、設定テーブル38のマップ対応IDをメールヘッダに追記する。
以上のように、ステップS62〜S75の処理が終了すると、図11のステップS40に移行することになる。
一方、ステップS60、S76,S84の判断を繰り返している間に、ステップS76の判断が肯定された場合(「事務所検索」ボタンが押された場合)には、ステップS78に移行する。
ステップS78に移行すると、メール処理部40は、事務所マップDB36(図7)から事務所名を取得して、事務所一覧画面(不図示)を作成してクライアントに送信する。次いで、ステップS80では、メール処理部40が、いずれかの事務所の選択を受信するまで待機する。次いで、ステップS82では、メール処理部40が、事務所に紐づく会議室を全社マップDB(不図示)から取得する。なお、全社マップDBは、電子メールシステム100が利用されている会社(利用者が所属する会社)の全事務所の地図及び全会議室の地図を管理するデータベースであるものとする。その後は、メール処理部40は、ステップS64に移行し、ステップS64〜S75の処理を前述したのと同様に実行し、図11のステップS40に移行する。なお、ステップS78〜S82、S64〜S75の処理を実行することで、利用者(satou@xxx.ww)は、登録場所DB34に登録されていない事務所の会議室をイベント開催場所として選択することができる。
ところで、ステップS60、S76,S84の判断を繰り返している間に、ステップS84の判断が肯定された場合(場所設定画面G2の×ボタンが押された場合)には、ステップS86に移行する。ステップS86では、メール処理部40は、場所設定画面の重畳をなくしたメール作成画面(図19(b))のデータをクライアント20(表示処理部50)に対して送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図19(b)の画面を表示する。その後は、図12の全処理を終了し、図11のステップS40に移行する。なお、本実施形態では、ステップS86を経た場合には、日時の設定処理をキャンセルする(設定テーブル38に記録した日時情報を削除する)こととしてもよい。
(送信処理)
次に、図11の送信処理(S42)について、図13のフローチャートに沿って詳細に説明する。なお、送信処理(S42)は、前述したように、メールを作成した利用者が、図19(b)の画面上や、図23の画面上において、「送信」ボタンを押した段階で開始される処理である。なお、本実施形態では、図23の画面において、利用者(satou@xxx.ww)が「送信」ボタンを押したものとする。
図13の処理では、まず、ステップS90において、メール処理部40が、利用者IDのメールDB32の送信欄(種別=送信)と、宛先のメールDB32の受信欄(種別=送信)にメールの情報を記録する。これにより、メールが宛先に対して送信されたことになる。
次いで、ステップS92では、メール処理部40が、メールヘッダに記録されたマップ対応IDが設定テーブルに存在するか否かを判断する。すなわち、送信されたメールに、イベント開催日時、開催場所の情報が挿入されているか否かを判断する。ここでの判断が否定された場合には、ステップS98に移行するが、肯定された場合には、ステップS94に移行する。なお、図23のメッセージを送信しようとする場合には、そのメッセージのメールヘッダにマップ対応IDが記録されており、設定テーブル38には送信しようとするメッセージに対応する情報が存在しているので、ステップS92の判断は肯定される。
ステップS94に移行した場合、すなわち、送信メールにイベント開催日時、開催場所の情報が挿入されていた場合には、メール処理部40は、記録した利用者IDに対応するメールDB32のメッセージIDを、設定テーブル38に記録する。次いで、ステップS96では、メール処理部40が、図9(b)に示すように、メッセージの宛先の利用者ID(受信者のメールアドレス)に対応付けて、保存形態を格納するレコードを保存形態用テーブル39に生成する。なお、本実施形態では、図23で示すように、差出人の利用者ID(satou@xxx.ww)が、宛先として2つの利用者ID(yamada@xxx.ww、honda@xxx.ww)へ送信しているので、図9(b)には、yamada@xxx.ww、および、honda@xxx.wwの2つのレコードが生成される。
次いで、ステップS98では、メール処理部40が、メール一覧表示画面(図18)を送信する。なお、図18のメール一覧表示画面においては、設定テーブル38に格納されているメール(イベント開催日時、開催場所の情報が挿入されているメール)に対応する「日時場所」欄にマーク(フラグ)を表示するものとしている。
ステップS98の処理が終了すると、図13の全処理を終了して、図11のステップS44に移行する。
(閲覧処理)
次に、図11の閲覧処理(S48)について、図14〜図16のフローチャートに沿って詳細に説明する。なお、閲覧処理(S48)は、前述したように、メールを閲覧しようとしている利用者が、図18のようなメール一覧表示画面内で1つのメールを選択した段階で開始される処理である。なお、本実施形態では、メールを閲覧しようとしている利用者が、ID=yamada@xxx.wwの利用者である場合について説明する。
図14の処理では、まず、ステップS100において、メール処理部40が、選択されたメッセージのメッセージIDに対応する宛先、件名、本文などの情報をメールDB32から取得して、メッセージ表示画面のデータを生成する。ここで、メール本文にイベント開催日時、開催場所の情報が挿入されている場合(図12のステップS74を経た場合)には、図24のようなメッセージ表示画面のデータが生成される。一方、メール本文にイベント開催日時、開催場所の情報が挿入されていない場合(図12のステップS74を経ていない場合)には、図25のようなメッセージ表示画面のデータが生成される。
次いで、ステップS101では、メール処理部40が、選択されたメッセージのメッセージIDは設定テーブル38に記録されているか否かを判断する。ここでの判断が否定された場合、すなわち、メール本文にイベント開催日時、開催場所の情報が挿入されていない場合(図25のようなメールの場合)には、メール処理部40は、ステップS102〜S104の処理を実行する。
ステップS102では、メール処理部40は、生成したメッセージ表示画面(図25)のデータを閲覧要求を出した利用者(yamada@xxx.ww)のクライアント20(表示処理部50)に送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図25のメッセージ表示画面を表示する。次いで、ステップS103では、メール処理部40は、メッセージ表示画面が閉じられるまで待機する。すなわち、メール処理部40は、利用者によって、メッセージ表示画面の右上の×ボタンが押されるまで待機する。利用者によって、メッセージ表示画面の右上の×ボタンが押され、ステップS104に移行すると、メール処理部40は、メール一覧表示画面(図18)のデータをクライアント20(表示処理部50)に対して送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図18のメール一覧表示画面を表示する。
一方、ステップS101の判断が肯定された場合、すなわち、選択されたメッセージのメッセージIDが設定テーブル38に記録されていた場合(図24のようなメールの場合)には、ステップS105に移行する。
ステップS105に移行すると、メール処理部40は、保存形態が保存形態用テーブル39に記録されているか否かを判断する。なお、メッセージをはじめて表示する(閲覧する)場合には、保存形態は記録されていないため、ステップS105の判断は否定され、ステップS106に移行する。
ステップS106に移行した場合、メール処理部40は、通常メール表示処理のサブルーチン(図15)を実行する。一方、ステップS105の判断が肯定され、ステップS107に移行した場合、メール処理部40は、保存メール表示処理のサブルーチン(図16)を実行する。以下、通常メール表示処理(S106)及び保存メール表示処理(S107)について、詳細に説明する。
[通常メール表示処理]
図15のフローチャートに沿って、通常メール表示処理(S106)について説明する。
図15の処理では、まず、ステップS110において、メール処理部40が、「事務所ACCESS」、「事務所MAP」、「会議室MAP」の各ボタンを挿入したメッセージ表示画面(図24)のデータを生成し、クライアント20(表示処理部50)に対して送信する。表示処理部50は、該画面のデータを受信した段階で、ディスプレイ193上に図24の画面を表示する。
次いで、ステップS112では、メール処理部40が、いずれかの表示要求を受信したか否かを判断する。すなわち、メール処理部40は、「事務所ACCESS」、「事務所MAP」、「会議室MAP」のいずれかのボタンが利用者(yamada@xxx.ww)によって押されたか否かを判断する。ここでの判断が否定された場合には、ステップS114に移行し、メール処理部40は、図24のメッセージ表示画面が閉じられたか否かを判断する。ここでの判断が否定された場合には、ステップS112に戻る。これに対し、ステップS114の判断が肯定された場合には、ステップS136に移行し、メール処理部40は、図18のメール一覧表示画面のデータをクライアント20(表示処理部50)に対して送信した後、図15の全処理を終了する。
一方、ステップS112の判断が肯定された場合、すなわち、利用者によって「事務所ACCESS」、「事務所MAP」、「会議室MAP」のボタンのいずれかが押された場合には、ステップS116に移行する。
ステップS116に移行すると、メール処理部40は、利用者によって押されたボタンが「事務所ACCESS」ボタンであるか否かを判断する。ここでの判断が肯定された場合には、ステップS118に移行する。ステップS118では、メール処理部40は、設定テーブル38(図9(a))の「会議室MAP_ID」=M000101に基づいて、会議室マップDB37経由で事務所マップDB36の「事務所ACCESS」情報を取得する。その後は、ステップS126に移行する。
一方、ステップS116の判断が否定されると、ステップS120に移行し、メール処理部40は、利用者によって押されたボタンが「事務所MAP」ボタンであったか否かを判断する。ここでの判断が肯定された場合には、メール処理部40は、ステップS122に移行する。ステップS122では、メール処理部40は、設定テーブル38の「会議室MAP_ID」=M000101に基づいて、会議室マップDB37経由で事務所マップDB36の事務所MAP情報を取得する。その後は、ステップS126に移行する。なお、ステップS116、S120の両判断が否定された場合、すなわち、利用者によって押されたボタンが「会議室MAP」ボタンであった場合には、メール処理部40は、ステップS124に移行する。ステップS124では、メール処理部40は、設定テーブル38の「会議室MAP_ID」=M000101に基づいて、会議室マップDB37から会議室MAP情報を取得する。その後は、ステップS126に移行する。
ステップS118、S122、S124を経て、ステップS126に移行すると、メール処理部40は、取得した事務所ACCESS情報または事務所MAP情報あるいは会議室MAP情報、件名、日時を用いて生成された画面(図26の画面G4)を重畳させたメッセージ表示画面(図26)のデータをクライアント20(表示制御部50)に対して送信する。クライアント20(表示処理部50)は、該画面のデータを受信した段階で、ディスプレイ193上に図26の画面を表示する。なお、図26の画面は、図24のメッセージ表示画面において、「会議室MAP」ボタンが押された場合の例を示しているものとする。なお、図26の画面には、「保存」ボタンが設けられている。なお、ここでは図示していないが、次画面に遷移するボタンを設け、別の画面(本実施形態では、事務所ACCESSや事務所MAP)を簡単に表示できるようにしてもよい。
次いで、ステップS128では、メール処理部40が、保存要求を受信したか否かを判断する。ここでの判断が否定された場合には、ステップS134に移行し、メール処理部40は、利用者(yamada@xxx.ww)によって重畳画面G4が閉じられたか(×ボタンが押されたか)否かを判断する。ここでの判断が否定された場合、メール処理部40は、ステップS128に戻る。一方、ステップS134の判断が肯定された場合には、ステップS136に移行し、メール処理部40は、図18のメール一覧表示画面のデータをクライアント20(表示処理部50)に対して送信した後、図15の全処理を終了する。なお、メール処理部40は、ステップS136において、図24のメッセージ表示画面のデータをクライアント20(表示処理部50)に対して送信することとしてもよい。
ところで、ステップS128の判断が肯定された場合、すなわち、利用者によって図24の画面G4上で「保存」ボタンが押された場合には、ステップS130に移行する。ステップS130では、メール処理部40は、図9(b)の保存形態用テーブル39の「保存形態」の欄に、保存要求された種別(事務所ACCESS情報/事務所MAP情報/会議室MAP情報)を記録するとともに、画面G4及びメッセージ表示画面を閉じる。なお、「保存形態」の欄には、図9(c)のルールに則って、数字が記録されるものとする。例えば、図26の画面G4において利用者によって「保存」ボタンが押された場合には、画面G4上には会議室MAP情報が表示されているので、図9(c)より、「保存形態」の欄には、数字「3」が記録される。なお、保存形態用テーブル39には、メッセージの送信時に、宛先のメールアドレス分のレコードが生成される。そのメールアドレスごとに、保存形態を格納するものとし、保存形態を変更した場合は、「保存形態」の欄の数字が上書きされるものとする。
次いで、ステップS132では、メール処理部40が、保存形態の欄に「MAP」と表示させたメール一覧表示画面(図27)のデータをクライアント20(表示処理部50)に対して送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図27の画面を表示する。
以上の処理が行われた後は、図15及び図14の全処理を終了し、図11のステップS30に戻る。
[保存メール表示処理]
次に、図16のフローチャートに沿って、保存メール表示処理(S107)について説明する。なお、図16の処理は、図27のメール一覧表示画面において、保存形態の欄に「MAP」が表示されているメッセージを利用者(yamada@xxx.ww)が選択した場合に実行される処理である。この処理は、例えば、イベント開催案内のメールを過去に利用者が閲覧し、そのときに保存しておいた画面G4を、イベント開催直前に再度確認するような場合に行われる処理である。
図16の処理では、まず、ステップS140、S144において、メール処理部40は、保存形態が1〜3のいずれであるかを判断する。メール処理部40は、保存形態が「1」であった場合には、ステップS142に移行し、保存形態が「2」であった場合には、ステップS146に移行し、保存形態が「3」であった場合には、ステップS148に移行する。
ステップS142に移行した場合(保存形態=1の場合)、メール処理部40は、前述したステップS118と同様、会議室マップDB37(図8)経由で事務所マップDB36(図7)の事務所ACCESS情報を取得する。また、ステップS146に移行した場合(保存形態=2の場合)、メール処理部40は、前述したステップS122と同様、会議室マップDB37経由で事務所マップDB36の事務所MAP情報を取得する。また、ステップS148に移行した場合(保存形態=3の場合)、前述したステップS124と同様、メール処理部40は、会議室マップDB37から会議室MAP情報を取得する。ステップS142、S146,S148の処理の後は、ステップS150に移行する。
ステップS150に移行すると、メール処理部40は、取得した事務所ACCESS情報又は事務所MAP情報あるいは会議室MAP情報と、件名、日時情報とで画面(図28の符号G5)のデータを生成する。そして、メール処理部40は、生成した画面を重畳させた画面(図28)のデータをクライアント20(表示処理部50)に対して送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図28の画面を表示する。
このように、本実施形態では、イベント開催日時や場所の情報が挿入されたイベント開催案内のメールを利用者が以前に閲覧しており、該メールを利用者が再度確認するときには、メール処理部40は、以前に閲覧した際に保存しておいた画面(画面G4、G5)を表示する。このため、利用者は、イベント開始直前等においてイベント開催日時や場所を確認する際に、メールの本文の中から日時や場所の情報を見つけるなどの作業が不要になる。これにより、利用者のメール閲覧における利便性を向上することができる。
次いで、ステップS152では、メール処理部40は、重畳画面G5が利用者によって閉じられるまで(画面G5の×ボタンが押されるまで)待機する。利用者によって×ボタンが押されると、メール処理部40は、ステップS154に移行し、図27のメール一覧表示画面のデータをクライアント20(表示処理部50)に対して送信する。クライアント20(表示処理部50)では、該画面のデータを受信した段階で、ディスプレイ193上に図27の画面を表示する。その後は、図16、図14の処理を終了し、図11のステップS30に戻る。
なお、上記説明から分かるように、本実施形態では、一例としてメール処理部40により、メール表示画面のデータをクライアント20に対して出力する第1出力部、画面G4のデータをクライアント20に対して出力する第2出力部、画面G5のデータをクライアント20に対して出力する第3出力部、及び画面G4の情報を保存形態用テーブル39に記録する保存部としての機能が実現されている。
以上、詳細に説明したように、本実施形態によると、メール処理部40は、添付情報(事務所ACCESS情報、事務所MAP情報、会議室MAP情報)と、日時・場所の情報とを含むイベント開催案内のメールの表示画面(メッセージ表示画面)のデータをクライアント20に対して出力(ディスプレイ193上に表示)し(S110)、添付情報が選択された場合に、該添付情報と日時・場所の情報とが含まれる画面G4のデータをクライアント20に対して出力し(S126)、画面G4の情報を保存形態用テーブル39に記録し(S130)、画面G4の情報が記録された後において、イベント開催案内のメールについてクライアント20から表示依頼を受信すると、画面G4で保存した画面(G5)をクライアント20に対して出力する(ディスプレイ193上に表示する)。このように、本実施形態では、イベント開催案内のメールを利用者が閲覧したときに、画面G4の情報を保存(保存形態用テーブル39に記録)しておけば、次にイベント開催案内のメールを閲覧するときには、最初から画面G4で保存した画面(G5)が表示されることになる。したがって、利用者は、イベント開始直前等において日時や場所を再確認する際に、メール本文の中から日時や場所の情報を見つけたり、添付された地図データやURLを一から確認する必要がないので、利用者によるメール閲覧の利便性を向上することができる。また、イベント開始直前等においては、携帯電話などの端末上でメールの確認が行われることも想定されるが、この場合にも、画面G5を表示することで、利用者はイベント開催日時や場所を容易に把握することが可能となる。
また、本実施形態では、イベント開催案内のメールの添付情報は、イベント開催場所の詳細度(粒度)の異なる地図情報(事務所MAP情報、会議室MAP情報)を含んでおり、メール処理部40は、詳細度の異なる地図情報の1つが選択された場合に、当該選択された地図情報を含む画面G4を表示する。これにより、利用者は、自分が後で必要になるであろう詳細度の地図が表示された画面G4の情報を保存(保存形態用テーブル39に記録)することができる。
また、本実施形態では、イベント開催案内のメールを作成する場合に、利用者が「日時・場所」ボタンを押すと、日時設定画面G1や場所設定画面G2が表示される。そして、利用者は、簡易な操作により、日時や場所をメール本文に挿入したり、地図情報を添付したりすることができる。このように、本実施形態によれば、メール作成者にとっての利便性も向上することができる。
なお、上記実施形態では、図24のメッセージ表示画面上において、利用者は、「事務所ACCESS」、「事務所MAP」、「会議室MAP」のいずれか1つのボタンを選択できる場合について説明したが、これに限られるものではない。例えば、複数のボタンを選択できるようにしてもよい。この場合、画面G4、G5には、事務所ACCESS情報、事務所MAP情報、会議室MAP情報のうちの複数の情報が表示されることになる。
また、上記実施形態では、メッセージ表示画面に「事務所ACCESS」、「事務所MAP」、「会議室MAP」ボタンを設ける場合について説明したが、これに限られるものではない。いずれか1つのボタンを設けることとしてもよいし、表示可能な地図の詳細度等に応じて、より多くのボタンを設けることとしてもよい。
なお、上記実施形態では、イベント開催の日時の情報を画面G1(図20参照)において設定する場合について説明した。しかしながら、これに限られるものではなく、イベント開催の日時の情報は、利用者が手入力(メール(メッセージ)本文に直接入力)するようにしてもよい。
なお、上記実施形態では、添付情報が地図情報である場合について説明したが、これに限らず、その他の画像や文字情報であってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) 添付情報と、日時または場所の情報とを含むイベント開催案内のメールの画面情報を出力し、
前記添付情報が選択された場合に、選択された前記添付情報と前記日時または場所の情報とが含まれる選択画面情報を出力し、
出力した前記選択画面情報を保存し、
出力した前記選択画面情報が保存された後、前記イベント開催案内のメールについて表示依頼を受信すると、保存した前記選択画面情報を出力する、処理をコンピュータに実行させるメール出力プログラム。
(付記2) 前記添付情報は、詳細度の異なる複数の地図情報を含み、
前記詳細度の異なる複数の地図情報のうちの少なくとも1つが選択された場合に、選択された前記地図情報と、前記日時または場所の情報とが含まれる選択画面情報を出力することを特徴とする付記1に記載のメール出力プログラム。
(付記3) 添付情報と、日時または場所の情報とを含むイベント開催案内のメールの画面情報を出力する工程と、
前記添付情報が選択された場合に、選択された前記添付情報と前記日時または場所の情報とが含まれる選択画面情報を出力する工程と、
出力した前記選択画面情報を保存する工程と、
出力した前記選択画面情報が保存された後、前記イベント開催案内のメールについて表示依頼を受信すると、保存した前記選択画面情報を出力する工程と、をコンピュータが実行することを特徴とするメール出力方法。
(付記4) 前記添付情報は、詳細度の異なる複数の地図情報を含み、
前記詳細度の異なる複数の地図情報のうちの少なくとも1つが選択された場合に、選択された前記地図情報と、前記日時または場所の情報とが含まれる選択画面情報を出力することを特徴とする付記3に記載のメール出力方法。
(付記5) 添付情報と、日時または場所の情報とを含むイベント開催案内のメールの画面情報を出力する第1出力部と、
前記添付情報が選択された場合に、選択された前記添付情報と前記日時または場所の情報とが含まれる選択画面情報を出力する第2出力部と、
前記第2出力部が出力した前記選択画面情報を保存する保存部と、
前記保存部によって前記第2出力部が出力した前記選択画面情報が保存された後、前記イベント開催案内のメールについて表示依頼を受信すると、保存した前記選択画面情報を出力する第3出力部と、を備えるメール出力装置。
(付記6) 前記添付情報は、詳細度の異なる複数の地図情報を含み、
前記第2出力部は、前記詳細度の異なる複数の地図情報のうちの少なくとも1つが選択された場合に、選択された前記地図情報と、前記日時または場所の情報とが含まれる選択画面情報を出力することを特徴とする付記5に記載のメール出力装置。