以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
図1は、本発明に係る通信装置の一実施形態の構成を示すブロック図である。図1に示すように、通信装置はリーダ部1、プリンタ部2、画像入出力制御部3とを備える。ここで、リーダ部1は、原稿の画像を読み取り、原稿画像に応じた画像データをプリンタ部2及び画像入出力制御部3へ出力する。プリンタ部2はリーダ部1及び画像入出力制御部3からの画像データに応じた画像を記録紙上に記録する。画像入出力制御部3はリーダ部1を接続すると共に、ファクシミリ部(ファックス部)4、ファイル部5、ネットワークインターフェース(I/F)部7、フォーマッタ部9、イメージメモリ部10及びコア部11を有する。
ファクシミリ部4は、電話回線を介して受信された圧縮画像データを伸長し、伸長した画像データをコア部11へ転送し、またコア部11から転送された画像データを圧縮し、圧縮した圧縮画像データを電話回線へ送信する回路である。
ファイル部5には光磁気ディスクドライプ6が接続され、ファイル部5はコア部11から転送された画像データを圧縮し、その画像データを検索するためのキーワードと共に光磁気ディスクドライブ6にセットされた光磁気ディスクに書き込む。また、ファイル部5はコア部11を介して転送されたキーワードに基づき、光磁気ディスクに記憶されている圧縮画像データを検索し、検索した圧縮画像データを読み出して伸長し、伸長した画像データをコア部11へ転送する。
ネットワークI/F部7は、画像入出力制御部3をネットワークに接続するためのネットワークインターフェースを有し、電子メールアドレスとしてifax@figaro.xyz.co.jpというアドレスが割り当てられている。このネットワークはMailサーバ、POPサーバ13(pulser.xyz.co.jp)に接続し、更には全世界に広がるインターネット網14と接続されている。ネットワークI/F部7には、ハードディスク8が接続され、ハードディスク8にはMailで受信したデータを保存することが可能である。
インターネット網14には、MailサーバPOPサーバ13(pulser.xyz.co.jp)、MailサーバPOPサーバ15(panther.abc.co.jp)のようなメールサーバが複数存在し、多くの人との間で電子メールの送受信が可能である。
フォーマッタ部9は、ネットワークI/F部7に接続されたコンピュークから転送される画像を表すコードデータをプリンタ部2で印刷可能な画像データに展開する回路である。イメージメモリ部10は、画像データを一時的に記憶する回路である。コア部11については後述するが、コア部11はリーダ部1、ファクシミリ部4、ファイル部5、ネットワークI/F部7、フォーマッタ部9、イメージメモリ部10の各部におけるデータの流れを制御する。
次に、本通信機からリーダ部1で読み取った画像を電子メールに添付してMailクライアント16(pcmail@abc.co.jp)に送信する動作を説明する。
Mailクライアント16(pcmail@abc.co.jp)宛にリーダ部1で読み取った画像を電子メール形式に変換し、SMTP(Simple Mail Transfer Protocol)でメールサーバ13に画像が添付されたメールを送信する。尚、この際のFrom電子メールアドレスはifax@figaro.xyz.co.jpである。
メールサーバ13は、指定されたMailクライアント16のメールアドレス情報よりインターネット網14を経由してMailサーバ15に画像が添付されたメールを転送する。このメールを受信したMailサーバ15はアドレス情報より自分が管理するユーザのアドレスであると認識し、受信したメールをMailクライアント16のメールボックスに保存する。
Mailクライアント16には、電子メールを送受信することができる電子メールソフトがインストールされており、一定時間毎にPOP3(Post Office Protocol-Version 3)に従ってPOPサーバ15のメールボックス内に新規のメールが届いていないかを調べる。届いていた場合、そのメールをダウンロードし、送信機のリーダ部1で読み取った画像を入手することができる。
また、インターネットFAX18(ifax@abc.co.jp)にデータを送信する場合も同様にMailサーバ13、インターネット網14、メールサーバ15を経由して送信することができ、この画像を受信したインターネットFAX18で受信画像が印刷される。
同様に、インターネットFAX18で読み取られた画像もメールサーバ15、インターネット網14、Mailサーバ13を経由してデータを受信し、プリンタ部2にて画像を印刷することができる。
次に、上述のリーダ部1及びプリンタ部2の詳細な構成及び動作について説明する。
図2は、リーダ部1及びプリンタ部2を一体的に設けた画像入出カデバイスの構造を示す側断面図である。図2に示すように、リーダ部1には、原稿給送装置101が搭載され、原稿給送装置101は、原稿を最終ページから順に1枚づつプラテンガラス102上へ給送し、この原稿の読み取り動作が終了後、プラテンガラス102上の原稿を排出するように構成されている。原稿がプラテンガラス102上に搬送されると、ランプ103が点灯され、スキャナユニット104の移動が開始される。このスキャナユニット104の移動により、原稿が露光走査され、この露光走査時の原稿からの反射光はミラー105,106,107、及びレンズ108を介してCCDイメージセンサ(以下、CCDという)109へ導かれる。
このように走査された原稿の画像はCCD109によって読み取られ、CCD109が光学的に読み取った画像を光電変換により画像データに変換して出力する。CCD109から出力された画像データは、所定の補正処理が施された後、プリンタ部2及び画像入出力制御部3のコア部11ヘビデオバス(図示せず)を介して転送される。
一方、プリンタ部2では、リーダ部1から出力された画像データをレーザドライバ201に入力する。レーザドライバ201は入力した画像データに基づき、レーザ発光部221を駆動する。即ち、リーダ部1から出力された画像データに応じたレーザ光を発光させるようにレーザ発光部221を駆動する。このレーザ光は感光ドラム202上に走査されながら照射され、感光ドラム202にはレーザ光に応じた静電潜像が形成される。
この感光ドラム202上の静電潜像は、現像器203から供給される現像剤によって現像剤像として可視画像化される。また、レーザ光の照射開始と同期したタイミングで、カセット204及び205の何れか一方から記録紙が給紙され、この記録紙は感光ドラム202と転写部206との間に搬送される。感光ドラム202上に形成された現像剤像は転写部206により給紙された記録紙上に転写される。
現像剤像が転写された記録紙は定着部207に搬送され、定着部207が記録紙を熱圧することによって現像剤像を記像紙に定着させる。そして、定着部207を通過した記録紙は排出ローラ208によって排出され、ソータ220は排出された記録紙をそれぞれのビンに収納して記録紙の仕分けを行う。尚、ソータ220は仕分けが設定されていない場合には、最上ビンに記録紙を収納するように動作する。
また、両面記録が設定されている場合には、排出ローラ208の位置まで記録紙を搬送した後に、排出ローラ208の回転方向を逆転させ、フラッパ209によって再給紙搬送路へ導くように構成されている。更に、多重記録が設定されている場合には、記録紙を排出ローラ208まで搬送しないようにフラッパ209を切り換えて再給紙搬送路へ導くように設定されている。そして、再給紙搬送路へ導かれた記録紙は、上述したタイミングで、感光ドラム202と転写部206との間に再度給紙される。
次に、本実施形態における通信装置のリーダ部1について、その構成及び動作を詳細に説明する。
図3は、通信装置のリーダ部1の構成を示すブロック図である。CCD109から出力された画像データは、図3に示すように、A/D・SH部110によるアナログ/デジタル変換によりデジタルデータに変換されると共に、該デジタルデータに対してシェーディング補正が施される。A/D・SH部110によって処理された画像デークは画像処理部111を介してプリンタ部2へ転送されると共に、インターフェース(I/F)部113を介して画像入出力制御部3のコア部11へ転送される。画像処理部111は、トリミング処理などの各種画像処理を行い、I/F部113はコア部11から転送された画像データを含むデータを取り込むなど、コア部11とのインターフェースを司る。
画像処理部111及びI/F部113は、CPU114により操作部115で設定された設定内容に応じて制御される。例えば、操作部115でトリミング処理を行って複写を行う複写モードが設定されている場合、CPU114は、画像処理部111においてトリミング処理を実行し、このトリミング処理が施された画像データをプリンタ部2へ転送するように制御する。
また、操作部115でファクシミリ送信モードが設定されている場合、CPU114は、I/F部113から画像データと設定されたモードに応じた制御コマンドとをコア部11へ転送するように制御する。
このようなCPU114による制御は、メモリ116に格納されている制御プログラムに従って実行される。また、メモリ116はCPU114の作業領域としても使われる。
次に、本実施形態における通信装置のコア部11について、その構成及び動作を詳細に説明する。
図4は、通信装置のコア部11の構成を示すブロック図である。コア部11は、リーダ部1とのI/F部122を有し、リーダ部1から転送された画像データはI/F部122を介して画像データ処理部121へ転送されると共に、リーダ部1からの制御コマンドはCPU123へ転送される。画像データ処理部121は必要に応じて入力された画像データに対し、画像の回転処理、変倍処理などの画像処理を施し、画像データ処理部121で画像処理が施された画像データは、リーダ部1から転送された制御コマンドに応じて、I/F部120を介してファクシミリ部4、ファイル部5又はネットワークI/F部7へ転送される。
また、ネットワークI/F部7を介して入力された画像を表すプリンタデータは、画像データ処理部121に転送された後に、フォーマッタ部9へ転送されて画像データに展開され、この画像データは画像データ処理部121に転送された後に、また、ファクシミリ部4又はI/F部122を介してプリンタ部2へ転送される。ファクシミリ部4で受信された画像データは、画像データ処理部121へ転送された後に、プリンタ部2、ファイル部5又はネットワークI/F部7へ転送される。更に、ファイル部5から出力された画像デークは、画像データ処理部121へ転送された後に、プリンタ部2、ファクシミリ部4又はネットワークI/F部7へ転送される。
CPU123はメモリ124に格納されている制御プログラム及びリーダ部1から転送された制御コマンドに従って各部間のデ‐夕の転送制御を行うと共に、画像データ処理部121による画像処理の実行を制御する。また、メモリ124は、CPU123の作業領域としても使われる。
このように、コア部11を中心として、原稿画像の読み取り、画像のプリント、画像の送受信、画像の保存、コンピュータからのデータの入出力などの各機能を複合させた処理を行うことが可能である。
図5は、フォーマッタ部9の構成及び動作を説明するための図である。図1に示すPCクライアント12のワープロ等のアプリケーションで作成されたデータはプリンタドライバによりPS(ポストスクリプト)などのプリンタで解釈可能なPDL(Page Description Language)データに変換される。そして、変換されたデータはネットワークI/F部7、コア部11、コアI/F部220を経由してフォーマッタ部9に転送される。
このデータはCPU222により解釈され、FontROM223、DRAM225を用いて画像が形成される。この画像は画像処理回路226によって画像処理が施され、ビデオクロック228で生成された同期信号に同期してビデオI/F回路227より画像がコア部11に転送される。転送された画像データは、プリンタ部2で印刷される。プログラムROM224は上述した動作を制御するためのプログラムが格納されているROMである。このようにしてプリンタ部2でPSなどのPDLデータを印刷することができる。
尚、フォーマッタ部9は、PDL毎に変更が可能であり、このROM224はPDLとそのバージョン毎に異なり、ユーザは目的に応じたPDLとバージョンを選択することができる。
図6は、ファクシミリ部4の構成及び動作を説明するための図である。NCU(Network Control Unit)230は電話機にFAXを接続する回路であり、電話、FAXの切り替え、受信時に呼び出し信号の検出、通話中に電話交換機からの直流ループ信号を保持する回路である。MODEM(MOdulator/DEModulator)231はアナログ信号をデジタル信号に変更、逆にアナログ信号をデジタル信号に変換する変復調回路である。
他のFAXから送信されたデータは、NCU230によりデータが受信され、MODEM213によりデジタル信号に変換される。このデータは画像をMH,MR,MMR或いはJBIG等で符号化されたデータである。このデータは符号復号化回路236により復号化され、DRAM235に画像データが展開される。展開された画像データは、解像度変換部234で解像度が変換され、画像処理回路237で画像処理が施される。この画像データはビデオクロック239からのクロックに同期してビデオI/F回路238によってコア部11に転送され、プリンタ部2で印刷される。
また、送信時はリーダ部1で読み込まれた画像データがコア部11を経由してビデオI/F回路238、ビデオクロック239、画像処理回路237によってDRAM235に展開される。展開されたデータは解像度変換234で解像度が変換され、符号復号化回路236でMH,MR,MMR或いはJBIGに符号化される。符号化されたデータはMODEM231でアナログ信号に変換されて、NCU230にて送信される。
CPU232は、上述した制御を司る回路であり、プログラムROM233はCPU232を動作させるためのプログラムが格納されている。尚、ファクシミリ部4は着脱が可能であり、ユーザの用途に合わせて装着が可能である。
次に、通信装置のネットワークI/F部7におけるプログラム(プロトコル)階層について説明する。
図7は、通信装置のネットワークI/F部におけるプログラム階層を示す図である。ネットワークI/F部7におけるプログラムは、図7に示すように、IP(Internet Protocol)250、TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)251、アプリケーション階層のプロトコルを動作されるプログラム252から構成されている。
IP250は、発信ホストから宛先ホストヘルータなどの中継ノードと連携しながらメッセージを送り届けるサービスを提供するインターネットのプロトコル階層である。メッセージを送り届けるのに一番重要な情報は、発信、宛先のアドレスであり、この発信、宛先のアドレスはIP250により管理される。メッセージをアドレス情報に従ってネットワーク内をどのような経路で宛先ホストまで届けるかというルーティングはIP250で行う。
TCP/UDP251は、発信アプリケーションプロセスから受信アプリケーションプロセスへメッセージを送り届けるサービスを提供するトランスポート階層である。このTCPは、コネクション型サービスであり、通信の高度な信頼性を保証するが、UPDはコネクションレス型のサービスであり、信頼性の保証を行わない。
アプリケーション階層のプロトコル252は複数のプロトコルを規定し、このプロトコルには、ファイル転送サービスであるFTP(File Transfer Protocol)、ネットワーク管理プロトコルであるSNMP(simple network management protocol)、プリンタ印刷用のサーバプロトコルであるLPD、WWW(World Wide Web)サーバのプロトコルであるHTTPd、電子メール送受信プロトコルSMTP(Simple Mail Transfer Protocol)、メールダウンロードプロトコルPOP3(Post Office Protocol-Version 3)などが存在する。
次に、リーダ部1に設けられている操作部115から送信設定を行う際の操作部115の表示画面について説明する。
図8は、画像を送信する時の操作部115の表示画面を示す図である。図8に示す読み取りサイズ300はスキャナユニット104で読み取られる画像の用紙サイズを指定するエリアである。ここでは、「A5,A4,A3,B5,B4,自動」の中から指定することができ、デフォルトとして「自動」が設定されている。解像度301はスキャナユニット104で読み取られる画像の解像度を指定できるエリアである。ここでは、「200×100,200×200,200×400,300×300,400×400、600×600dpi」の解像度を選択することができ、デフォルトとして「200×200dpi」が設定されている。
詳細設定302のボタンを押すと、スキャン時の濃度設定、原稿タイプ指定、両面読み込み、ページ連写指定、画質調整などのスキャン時の指定を行うことができるウィンドウ(図示せず)が表示され、各値を設定することができる。宛先303は電子メール送信先を入力するためのボタンである。このボタンを押すと、図9に示すアドレス帳が表示される。この詳細な説明は図9を用いて説明するが、宛先としてインターネットFAX18のアドレスifax@abc.co.jpが選択されている。
また、Subject304は電子メールの件名を入力することができる欄である。図8に示す例では、TESTが入力されている。本文305は電子メールの本文を入力することができる欄である。返信先306はインターネットFAX18からメールが送信されたとき、受信側のユーザが返信動作を行う時の返信先の電子メールアドレスをインターネットFAX18でなく自分が普段使用している電子メールアドレスに設定する場合に使われる。
尚、この返信先電子メールアドレスはアドレス帳を用いて入力できる。また、電子メールが正常に届いたことを知らせてもらう送達確認メールも同様に、普段利用しているメールアドレスにも送ってもらうと相手先に届いたことが普段利用している電子メールからも確認できる。このアドレスは返信先電子メールアドレスと基本的に同一であるため、返信先306が設定された場合、設定されたアドレスを返信先電子メールアドレスと送達確認先電子メールアドレスの双方を設定するように動作する。この例では、Mailクライアント12のclient@xyz.co.jpというアドレスが設定されている。
図9は、アドレス帳から宛先を選択する画面を示す図である。アドレス帳は不図示のユーザモードで入力できる多くのインターネットFAXや、電子メールの宛先を格納することができるデータベースである。アドレス帳はアドレス帳ID350、選択マーク351、及び送信先電子メールアドレス352から構成され、キー353、354を用いてスクロールさせることができる。
尚、本実施形態では、送信時に、このアドレス帳から宛先を複数選択することができ、選択されたアドレスに対して選択マークが表示され、図9に示す例では、アドレス帳ID6番のifax@abc.co.jpが宛先として選択されている。
次に、通信装置のリーダ部1から画像を読み込み、ネットワークI/F部7からMailサーバ13へESMTP送信プロトコルにて画像を添付したメールを送信する動作について説明する。
図10は、本実施形態によるESMTP送信プロトコルを示す図である。通信装置のネットワークI/F部7からMailサーバ13へTCP/IP接続が実行されると、サーバであるMailサーバ13より図10に示す400のように220の番号から始まるメッセージがクライアントであるネットワークI/F部7に送信される。このメッセージを受けて、クライアントであるネットワークI/F部7は401のようにEHL0から始まるメッセージを送信する。これにより、サーバは402〜405のような250の数字から始まりメールサーバ機能として所有するDSN,EXPN,SIZEの各機能の名称を返答する。この時点で、クライアントであるネットワークI/F部7はサーバがDSN機能を所有していることがわかる。
406ではクライアントから送信するメールのアドレス(ifax@figaro.xyz.co.jp)を記述し、送信ログに記載される送信受付番号(0580)と宛先のアドレス帳ID(006)を合成したTxNo.0580.006の文字列をEnvelope-ID(ENVID)として記入する。このENVIDに送信受付番号とアドレス帳IDを記入することにより、途中のメールサーバでエラーが発生した際に返答されるエラーメールのOriginal-Envelope-IDにENVIDとして記入したTxNo.0580.006がセットされて返されるので、エラーメールを受信した際に送信受付番号とアドレス帳IDとからエラーしたメールを簡単に見つけることができる。エラーメールの内容については図14を用いて更に後述する。
上述のメッセージをサーバが受信すると、サーバから250の数字から始まるメッセージが返される(407)。408はサーバがDSN機能をサポートしているので、RCPT TOの宛先のメールアドレスであるifax@abc.co.jpを設定し、次にエラーが発生した場合にDSNエラーメールを送信者に返してもらうようにNOTIFY=FAIRURE、ORCPT=rfc822; ifax@abc.co.jpを記述する。このメッセージを了解したMailサーバ13から250から始まる文字列を返す(409)。
410では、これからメールデータを送信することをMailサーバ13に知らせるためにDATAコマンドをクライアント側から送信する。ここで、DATAコマンドを受けたMailサーバ13は354から始まる文字列を返答し(411)、データを受信することが可能であることをクライアントに伝える。412〜415はクライアントからのメールデータであり、図11を用いて更に後述する。
416の「.」はメールデータの終わりを示すコードであり、このコードを正常に受け取ったMailサーバ13では250から始まる文字列を返す(417)。データの送信が終了したので、418でQUITを送信し接続の終了を宣言すると、221から始まる文字列をサーバが返答し接続が切られる(419)。
ここで、通信装置からメールサーバを経由して送られる電子メールデータの例について説明する。
図11は、本実施形態における電子メールデータの例を示す図である。図11に示す500のX-Priority:1(Highest)はこのメールのプライオリティを示すものである。画像をメールに添付して送受信を行うインターネットFAXデータはデータ量が大きくなりメールサーバによっては配信が遅延するように動作してしまうことを防ぐためにプライオリティを上げている。501のDATEは送信開始時刻であり、502のFromは本装置の電子メールアドレスであり、ユーザモード(図示せず)にてユーザが設定するアドレスである。503のSubjectはメールの表題であり、送信設定のSubject304でユーザが入力した文字列(この例ではTEST)を代入する。
504のToはメールの宛先であり、送信設定の宛先303でユーザが指定した電子メールアドレス(ifax@xyz.co.jp)を代入する。505のReply-Toは送信設定の返信先306に入力したメールクライアント12のメールアドレス(client@xyz.co.jp)であり、宛先にメールが到着した後、ユーザが返信動作を行うと、Fromアドレスでなく、このメールアドレスにメールが返信される。506のMessage-Idはメール固有の番号であり、同一番号が使われないように、日付、時間、HOST名を入れるように推奨されており、この他にも送信受付番号(TxNo.0580)、アドレス帳情報(006)を代入する。
即ち、送信機で記入したMessage-Idの文字列が受信機から送信される送達確認メールのOriginal-Message-IDに代入されるので、送信機では、送達確認メールのOriginal-Message-IDに代入された送信受付番号とアドレス帳IDに基づき、いつ誰宛に送信したメールが到達したのかを簡単に判断することができる。尚、送達確認メールの内容については図15を用いて更に後述する。
507のDisposition-Notification-Toは受信機が送信する送達確認結果を送信するメールアドレスを指定するものであり、送信機のメールアドレス(ifax@figaro.xyz.co.jp)とメールクライアント12のメールアドレス(client@xyz.co.jp)の2つが指定されている。このメールクライアント12のメールアドレスは送信設定の返信先306で入力した電子メールアドレスであり、送信者は送達確認の結果を送信機で確認しなくても普段利用しているメールクライアント12からも確認できる。
509のContent-Typeフィールドはこのメールがメール本文と添付ファイルの部分から構成されていることを示すためにmultipart/mixedと宣言し、"AHMO"の文字列によって区切られていることを示す。511の--AHMOは区切りの始まりであることを示し、516の--AHMOまでが1つの区切りであり、529の--AHMO--にて区切りが終了したことを示す。よって、509〜511までの第1ブロックと511〜529までの第2ブロックに区切られている。
第1ブロックは512のContent-Type: text/planeにて表現されるメールテキストであり、その文字コードはISO-2022-JPの日本語JISコードである。第2ブロックは517のContent-Type: image/tiffにて表現されるTIFF画像ファイルであり、ファイル名はimage.tifである。このTIFF画像ファイルはBASE64にてエンコードするために518のContent-Transfer-Encording:base64が存在し、520〜529の文字列がTIFF画像ファイルをBASE64エンコードしたデータである。
次に、ネットワークI/F部7からインターネットFAX18にデータを送信する際に、Mailサーバ13で存在しない宛先を検知し、エラーが発生した場合の動作について説明する。
図12は、送信エラーが発生した場合のデータの流れを示す図である。ネットワークI/F部7からMailサーバ13にデータが送信される(600)。データを受信したMailサーバ13は、408のRCPT TOの宛先情報よりMailサーバ15に対して受信したデータを送信する(601)。ここで、Mailサーバ15が宛先情報より存在しない宛先であると判断すると、406のMAIL FROMで記述されている宛先(メールアドレス)へエラーメールを送信する(602)。このエラーメールを受信したMailサーバ13はエラーメールの宛先であるネットワークI/F部7に対して受信したデータを送信する(603)。このエラーメールの内容については図14を参照して更に後述する。
次に、ネットワークI/F部7からインターネットFAX18に正常にデータを送信できた場合の動作について説明する。
図13は、正常送信時のデータの流れを示す図である。ネットワークI/F部7からMailサーバ13にデータが送信される(650)。データを受信したMailサーバ13は、408のRCPT TOの宛先情報よりMailサーバ15に対して受信したデータを送信する(651)。Mailサーバ15は宛先情報より受信したデータをインターネットFAX18にデータを転送する(652)。そして、データを受信したインターネットFAX18は受信したデータより画像を形成し、画像を印刷する。
また、受信データに507のDisposition-Notification-To:の記載があるため、インターネットFAX18はDisposition-Notification-To:に記載されている2つのメールアドレス(ifax@figaro.xyz.co.jp、client@xyz.co.jp)に対して正常に受信できたこと示す送達確認メールを送信する(653)。そして、送達確認メールはMailサーバ15を経由してMailサーバ13へと送られ(654)、Mailサーバ13にてネットワークI/F部7(655)及びメールクライアント12(656)に対して送達確認メールが送られる。この送達確認メールの内容については図15を参照して更に後述する。
図14は、Mailサーバ15が送信するエラーメール(602)の内容を示す図である。700はMailサーバ15がエラーメールを送信した日付、時間、701はエラーメール送信者である。707はエラーメールのMIMEタイプを示し、Content-Type: multipart/report; report-type=delivery-status;からレポート形式の複数のブロックに別れたメールであることが判る。
このメールは複数ブロックに別れ、この区切り文字は708のRAA03423であることから714〜717のテキスト部分と720〜733のdeliverry-statusを記述した部分と736〜746のrfc822-headers部分の3ブロックに別れている。714〜717のテキスト部分は元メール(600)の送信者がなぜエラーとなったのか判るように書かれており、717のiifax@abc.co.jpというユーザが存在しないことがわかる。720〜733のdeliverry-statusを記述した部分では、722にOriginal-Envelope-Id: TxNo.0579.007というのは図10の406と同じような元メール(600)送信時にESMTPプロトコルのMAIL FROMコマンド上で付けられたENVID(406)である。通信結果は729のAction: failedより失敗であることがわかる。736〜746のrfc822-headers部分は元メール(600)のメールヘッダ部分であり、744より元メール(600)のMessage-Idは<20010614172000.TxNo.0579.007@figaro.xyz.co.jp>であることがわかる。
図15は、送達確認メールの内容を示す図である。800は送達確認(653)メールの日付、時刻を示し、801は送信者であるifax@abc.co.jpが記述されている。802はこの送達確認メール固有のMessage-Idである、20010614174140.12345@ifax.abc.co.jpが定義され、803は件名であり、Disposition notificationが記述されている。804は送達確認の受信者であり、元メール(650)のDisposition-Notification-To(507)で指定されたifax@figaro.xyz.co.jpとclient@xyz.co.jpの2つのメールアドレスが指定されている。806は送達確認メールのMIMEタイプを示し、Content-Type: multipart/report; report-type= disposition-notification;からレポート形式の複数のブロックに別れたメールであることが判る。
このメールは複数ブロックに別れ、この区切り文字は807のRAA14128であることから811〜812のテキスト部分と、815〜821のdisposition-notificationを記述した部分と、824〜834のrfc822-headers部分の3ブロックに別れている。811〜812のテキスト部分は送信者がどのメールが送達確認できたかを示すためにメールの送信時間、受信者などが記述される。
815〜821のdisposition-notification部分はどのメールが送達確認できたかとその結果を示しており、820のOriginal-Message-IDは元メール(650)のMessage-ID(506)を示している。821のDispositionにdisplayedと記述されているので画像が正常に形成されたことがわかる。824〜834のrfc822-headers部分は元メール(650)のメールヘッダ部分であり、832より元メール(650)のMessage-Idは<20010614172140.TxNo.0580.006@figaro.xyz.co.jp>であることがわかる。
図16は、送信内容や状態などが記録された送信ログを示す図である。図16に示すように、送信ログ850は、番号、送信受付番号、アドレス帳情報、状態から構成され、送信結果レポートなどユーザに見せる場合にはアドレス帳情報の番号に基づいて実際の宛先(ifax@xyz.co.jp)を展開し、表示又は印字する。
送信ログ850に示す番号1は、送信受付番号「0577」、アドレス帳情報「004」で、状態から正常に終了していることがわかる。また、番号2〜4は送信受付番号が共に「0578」で、アドレス帳情報「001」、「002」、「003」の3つの宛先に同時に同報送信が行われ、それぞれ正常に送信が終了している。
また、番号6は図12及び図14を用いて説明した通信であり、エラーで終了している。更に、番号7は図13及び図15を用いて説明した通信であり、送信受付番号「0580」、アドレス帳情報「006」であり、正常終了している。また、番号8、9は2つの宛先に同報送信が行われ、送信受付番号「0581」、アドレス帳情報はそれぞれ「002」、「004」であり、送達確認中の状態である。そして、番号10は受付番号「0582」、アドレス帳情報「005」の通信であり、現在データを送信中の状態である。
次に、通信装置のネットワークI/F部7がMailサーバ13からエラーメール又は送達確認メールを受信した際のメール受信処理について説明する。
図17は、本実施形態におけるメール受信処理を示すフローチャートである。ネットワークI/F部7がMailサーバ13からPOP3、SMTPプロトコルにてメールデータを受信すると、ステップS901へ進み、送達確認メールのMIMEタイプがレポート形式(Content-Typeがmultipart/report)のメールであるかを調べる。ここで、レポート形式のメールで無い場合はステップS902へ進み、通常の受信印刷処理を実行し、このメール受信処理を終了する。また、受信したデータがレポート形式のメールである場合はステップS903へ進み、出力先をプリンタに設定し、受信データの転送処理及びボックス格納処理を禁止する。
次に、ステップS904において、report-typeがdelivery-statusであるかを調べ、delivery-statusであれば、受信したメールがエラーメールであることがわかる。エラーメールであればステップS905へ進み、Original-Envelope-Idが存在するかチェックし、Original-Envelope-Idが存在しない場合はステップS911へ進み、送信したメールのどれがエラーとなったのか判断できないため、テキスト印刷処理を行う。
また、Original-Envelope-Idが存在した場合はステップS906へ進み、Original-Envelope-Idの中から送信受付番号を取得し、ステップS907において、アドレス帳情報を取得する。図14に示すエラーメールデータの場合、722のOriginal-Envelope-Idより送信受付番号「0579」、アドレス帳情報「007」を取得する。そして、取得した情報より書き込むべき送信ログは番号6であることがわかる。
次に、ステップS908において、通信結果である729のActionがFailed、即ち失敗であるか調べ、失敗であればステップS909へ進み、状態にエラーを書き込み、ステップS911において、テキスト印刷処理を行う。また、失敗でなければステップS910へ進み、状態に“--”を書き込み、ステップS911において、テキスト印刷処理を行う。
一方、ステップS904において、report-typeがdelivery-statusでない場合はステップS912へ進み、report-typeがdisposition-notificationであるかを調べる。ここで、disposition-notificationでない場合はステップS921へ進み、テキスト印刷処理を行う。また、disposition-notificationである場合は送達確認メールであることがわかり、ステップS913へ進み、Original-Message-Id(820)が存在するかを調べる。ここで、Original-Message-Idが存在しない場合はステップS921へ進み、テキスト印刷処理を行うが、Original-Message-Idが存在する場合はステップS914へ進み、Original-Message-Idより送信受付番号を取得し、ステップS915において、アドレス帳情報取得を行う。この受信した送達確認メールが図15の場合は、820のOriginal-Message-Idより送信受付番号「0580」、アドレス帳情報「006」を取得することができる。そして、取得した情報より書き込むべき送信ログは番号7であることがわかる。
次に、ステップS916において、Dispositionがdisplayedかprocessedかで後続するdisposition-modifierが存在しないか調べる。ここで、合致する場合はステップS917へ進み、送信ログの番号7に正常終了を書き込み、ステップS921において、テキスト印刷処理を実行する。また、上述の条件に合致しない場合はステップS918へ進み、Disposition-modifierがerror又はwarningであるかを調べる。ここで、条件が合致する場合はステップS919へ進み、状態にエラーを書き込み、ステップS921において、テキスト印刷処理を行う。また、合致しない場合はステップS920へ進み、状態に“--”を書き込み、ステップS921において、テキスト印刷処理を行う。
本実施形態によれば、電子メールデータ上に送信時に送信機の送信受付番号、送信機のアドレス帳における受信者の管理情報を代入したことにより容易に受信機に到達したかの判定を行うことができる。
また、メールの到達を確認するための送達確認結果が受信機から送信機だけでなく、指定した他のメールアドレスにも送信されてくるため、通常使用しているメールクライアントでも送達確認を知ることができる。
[変形例]
次に、上述したメール受信処理の変形例について説明する。この変形例では、元メールのMessage-IDを取得し、そのMessage-Idより送信受付番号、アドレス帳情報を取得するものである。
図18は、変形例におけるメール受信処理を示すフローチャートである。ネットワークI/F部7がMailサーバ13からPOP3、SMTPプロトコルにてメールデータを受信すると、ステップS901へ進み、送達確認メールのMIMEタイプがレポート形式(Content-Typeがmultipart/report)のメールであるかを調べる。ここで、レポート形式のメールで無い場合はステップS902へ進み、通常の受信印刷処理を実行し、このメール受信処理を終了する。また、受信したデータがレポート形式のメールである場合はステップS903へ進み、出力先をプリンタに設定し、受信データの転送処理及びボックス格納処理を禁止する。
次に、ステップS904において、report-typeがdelivery-statusであるかを調べ、delivery-statusであれば、受信したメールがエラーメールであることがわかる。エラーメールであればステップS950へ進み、rfc822-headersが存在するかチェックし、rfc822-headersが存在しない場合はステップS911へ進み、テキスト印刷処理を行う。
また、rfc822-headersが存在した場合はステップS951へ進み、この部分は元メールのヘッダ情報であり、元メールのヘッダ情報から元メールのMessage-Idを取得する。そして、ステップS906において、送信受付番号を取得し、続くステップS907において、アドレス帳情報を取得する。図14のエラーメールデータの場合、736のrfc822-headersを認識し、744のMessage-Idより送信受付番号「0579」、アドレス帳情報「007」を取得する。そして、取得した情報より書き込むべき送信ログは番号6であることがわかる。
次に、ステップS908において、通信結果である729のActionがFailed、即ち失敗であるか調べ、失敗であればステップS909へ進み、状態にエラーを書き込み、ステップS911において、テキスト印刷処理を行う。また、失敗でなければステップS910へ進み、状態に“--”を書き込み、ステップS911において、テキスト印刷処理を行う。
一方、ステップS904において、report-typeがdelivery-statusでない場合はステップS912へ進み、report-typeがdisposition-notificationであるかを調べる。ここで、disposition-notificationでない場合はステップS921へ進み、テキスト印刷処理を行う。また、disposition-notificationである場合は送達確認メールであることがわかり、ステップS952へ進み、message/rfc822(824)が存在するか調べる。ここで、message/rfc822が存在しない場合はステップS921へ進み、テキスト印刷処理を行うが、message/rfc822が存在する場合はステップS953へ進み、この部分は元メールのヘッダ情報であり、元メールのヘッダ情報から元メールのMessage-Idを取得する。そして、ステップS914において、送信受付番号を取得し、ステップS915において、アドレス帳情報を取得する。この受信した送達確認メールが図15の場合は、824のmessage/rfc822を検知することより832の元メールのMessage-Idを取得し、この中から送信受付番号「0580」、アドレス帳情報「006」を取得することができる。取得した情報より書き込むべき送信ログは856の番号7であることがわかる。
次に、ステップS916において、Dispositionがdisplayedかprocessedかで後続するdisposition-modifierが存在しないか調べる。ここで、合致する場合はステップS917へ進み、送信ログの番号7に正常終了を書き込み、ステップS921において、テキスト印刷処理を実行する。また、上述の条件に合致しない場合はステップS918へ進み、Disposition-modifierがerror又はwarningであるかを調べる。ここで、条件が合致する場合はステップS919へ進み、状態にエラーを書き込み、ステップS921において、テキスト印刷処理を行う。また、合致しない場合はステップS920へ進み、状態に“--”を書き込み、ステップS921において、テキスト印刷処理を行う。
この変形例によれば、前述した実施形態と同様に、容易に受信機に到達したかの判定を行うことができる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。