以下、図面を参照して、本発明の一実施形態に係る情報処理装置を備えたネットワークシステムの構成及び当該ネットワークシステムにおける通信処理の詳細について説明する。
図1は、本発明の一実施形態に係る情報処理装置を具備した各種機器がネットワークを介して接続したネットワークシステムの構成図である。図1に示すように、マルチファンクション複写機(MFP:Multi Function Peripheral)100、101、102は、スキャナやプリンタ等を搭載して、コピー機能、ファクシミリ送受信機能、コンピュータ上で作成されたデータを印刷するプリンタ機能等を備えている。MFP100、101、102は、ドメイン名が「xyz.co.jp」というネットワーク106に接続され、メール(Mail)サーバ/POPサーバ103、或いはクライアントPC104、105等の複数のコンピュータや各種ネットワーク機器と接続されている。尚、本実施形態に係る情報処理装置は、これらのMFP100、101、102、Mailサーバ/POPサーバ103、及びクライアントPC104、105にそれぞれ実装されている。
上述したネットワーク106は、さらに、全世界に広がるインターネット網110と接続し、Mailサーバ/POPサーバ120、クライアントPC121、インターネットFAX122が接続されているドメイン名が「abc.co.jp」というネットワーク123に接続されている。尚、本実施形態に係る情報処理装置は、これらのMailサーバ/POPサーバ120、クライアントPC121、インターネットFAX122にも実装されている。
また、図1に示すように、MFP100には、「copy1.xyz.co.jp」というホスト名と「ifax@copy1.xyz.co.jp」という機器の電子メールメールアドレスが付与されている。また、MFP101には、「copy2.xyz.co.jp」というホスト名と「ifax@copy2.xyz.co.jp」という機器の電子メールアドレスが付与されている。さらに、MFP102には、「copy3.xyz.co.jp」というホスト名と「ifax@copy3.xyz.co.jp」という機器の電子メールアドレスが付与されている。
さらにまた、クライアントPC104には、汎用電子メールソフトがインストールされており、「yamada@xyz.co.jp」というメールアドレスが付与されている。同様に、クライアントPC105にも汎用電子メールソフトがインストールされており、「satou@xyz.co.jp」というメールアドレスが付与されている。さらにまた、Mailサーバ/POPサーバ103は、MailサーバとPOPサーバの双方の機能を備えている。
一方、クライアントPC121には、汎用電子メールソフトがインストールされており、「tanaka@abc.co.jp」というメールアドレスが付与されている。また、インターネットFAXにも汎用電子メールソフトがインストールされており、「ifax@abc.co.jp」というメールアドレスが付与されている。さらにまた、Mailサーバ/POPサーバ120は、MailサーバとPOPサーバの双方の機能を備えている。
例えば、図1に示すシステムにおいて、クライアントPC104から電子メールを「tanaka@abc.co.jp」宛に送信する場合、クライアントPC104の電子メールソフトで作成された電子メールデータは、Mailサーバ/POPサーバ103に対してSMTP(Simple Mail Transfer Protocol)プロトコルによってメールデータが配送される。そして、Mailサーバ/POPサーバ103からMailサーバ/POPサーバ120へSMTPプロトコルによってインターネット網110を経由して当該電子メールデータが配送され、当該サーバ内の「tanaka@abc.co.jp」のメールボックスに当該電子メールデータが格納される。
尚、前述したように、クライアントPC121にも汎用電子メールソフトがインストールされており、クライアントPC121からPOP3(Post Office Protocol−Version 3)プロトコルを用いてMailサーバ/POPサーバ120内に存在する「tanaka@abc.co.jp」のメールボックスに電子メールが届いているか否かを一定間隔で監視し、当該サーバ120に電子メールが届いている場合は、当該電子メールを受信する。
また、逆に、クライアントPC121の「tanaka@abc.co.jp」からクライアントPC104の「yamada@xyz.co.jp」に対して電子メールを送る場合は、前述したルートと逆のルートをたどることとなる。すなわち、クライアントPC121にインストールされている汎用電子メールソフトで作成された電子メールデータがMailサーバ/POPサーバ120によって中継されてMailサーバ/POPサーバ103に送られ、MailサーバPOPサーバ103内の「yamada@xyz.co.jp」のメールボックスに当該メールデータが格納される。そして、クライアントPC104は、当該「yamada@xyz.co.jp」のメールボックスからPOP3プロトコルで届けられた上記メールデータを取得するように動作する。
一方、図1において、MFP100、101、102には、それぞれファクシミリ(FAX)受信機能や、インターネットファクシミリ(IFAX)受信機能によって受信された画像、及びスキャナで読み取った白黒/カラー画像を一般の電子メール宛先に送ることを前提として送信する「電子メール(Email)送信モード」と、IFAX規格に従った装置に対して送信することを前提とした「IFAX送信モード」とが存在する。
当該MFP100、101、102におけるデータの送信/受信には上述したSMTP及びPOP3が用いられ、上述したクライアントPC104、クライアントPC121におけるデータの送信/受信と同様の動作を行う。
MFP100、101、102は、「Email送信モード」では、スキャナでカラー画像が読み取られる場合は、JPEGフォーマット或いはPDF(Portable Document Format)ファイルの画像を送信することができる。また、MFP100、101、102は、「Email送信モード」では、スキャナで白黒画像が読み込まれた場合は、TIFF、又はPDFの画像を送信することができる。これらの装置等からクライアントPC104に付与されている「yamada@xyz.co.jp」のメールアドレス宛てにメールが送信された場合、クライアントPC104は、POP3プロトコルによって当該メールを受信し、汎用画像ビューアで画像を表示することができる。
これらの装置において、「IFAX送信モード」では、スキャナで読み取られた画像はRFC2301に従ったTIFF形式の画像としてIFAX規格に従った他のMFPやインターネットFAX122に対して、SMTP及びPOP3プロトコルによって送信される。
また、これらの装置において、送信側のスキャナ、FAX、IFAX受信機能で受信された画像データは遠隔地の受信機において受信され、受信した画像は遠隔地のプリンタ等で印刷される。
図2は、図1に示すMFP100の細部構成を示すブロック図である。以下では、図1に示すMFPのうちMFP100についてのみ説明するが、他のMFP101、102についてもMFP100と同様の構成を有する。
図2において、CPU130は、ROM131に格納されているプログラムとメモリとして機能するRAM132の一時的な記憶領域とを利用して、MFP100のシステム全体の制御を実施する制御回路である。
また、操作部133は、LCD表示パネルと、スタートキーやテンキー等のハードキー等から構成され、LCD上にタッチパネルを用いて各種ボタンを表示し、ユーザが指でボタンをタッチした位置を検出して、それに基づくユーザオペレーションを円滑に実行するためのユニットである。
スキャナ134は、原稿の画像データを光電変換により電気データに変換するユニットである。図13は、図1に示すMFP100のスキャナ134及びプリンタ135の機器構成図である。スキャナ134では、原稿給送装置250から原稿をプラテンガラス211上へ搬送し、原稿がプラテンガラス211上に搬送されると、ランプ212を点灯してスキャナユニット213の移動を開始し、原稿を露光走査する。原稿からの反射光は、ミラー214、215、216及びレンズ217によってCCDイメージセンサ218へ導かれて電気信号に変換され、A/D変換回路によってデジタルデータに変換される。そして、原稿の読み取り動作が終了した後、プラテンガラス211上の原稿は排紙される。
一方、プリンタ部135は、電気的画像データを記録紙に印刷するユニットである。プリンタ部135では、電気的画像データに応じたレーザ光をレーザ発光部313、314、315、316から発光させ、このレーザ光が感光ドラム325、326、327、328に照射され、感光ドラム325、326、327、328上にはレーザ光に応じた潜像が形成される。そして、感光ドラム325、326、327、328の潜像の部分には現像器321、322、323、324によって現像剤が付着され、レーザ光の照射開始と同期したタイミングで,給紙カセット360、361、362から記録紙を給紙して転写部へ搬送し、感光ドラム325、326、327、328に付着された現像剤を記録紙に転写する。現像剤の乗った記録紙は定着部335に搬送され、定着部335の熱と圧力により現像剤は記録紙に定着される。定着部335を通過した記録紙は排出ローラ336によって排紙トレイ371へ排出される。
また、図2において、画像処理回路136は、大容量の画像メモリ、画像回転回路、解像度変倍回路、MH、MR、MMR、JBIG、JPEG等の符号/複合化回路等で構成され、シェーディング、トリミング、マスキング等の各種画像処理を実行することができる。また、ハードディスク137は、SCSI、USB等のインタフェースで接続されている大容量記録媒体であり、ハードディスクだけでなくMO等の他の記録媒体を用いることも可能である。
さらに、図2において、ネットワークI/F138は、10BASE−T、100BASE−Tを代表とするイーサネット(登録商標)或いはトークンリング等のネットワーク回線と接続するためのネットワークデータリンクを実行する回路である。
さらにまた、フォーマッタ部139は、IEEE1284準拠のパラレルインタフェース、USB等のPC I/F回路を備え、PC I/F回路或いはネットワークI/F回路で受信したPCからのPDL(Page Description Language)データより画像データを作成し、画像処理回路136で画像処理を行い、プリンタ135で印刷するためのレンダリング回路である。
ファクス部140は、電話回線と接続し、NCU(Network Control Unit)、MODEM(MOdulator/DEModulator)等の回路で構成されるファクシミリI/F回路である。
MFP100では、スキャナ134で読み取られた画像データを画像処理回路136で画像処理を行い、電話回線を経由して他のファクシミリ装置に送信、或いは他のファクシミリ装置から送信されてきたデータを受信して画像処理回路136で画像処理を行ってプリンタ135で印刷するように動作する。
尚、上述したスキャナ134、プリンタ135、画像処理回路136、フォーマッタ部139及びファクス部140は、CPU130からのCPUバス142とは別の高速ビデオバス143で接続され、画像データを高速に転送できるように構成されている。
また、MFP100では、スキャナ134で読み取った画像データを画像処理回路136で画像処理を行い、読み取った画像をプリンタ135で印刷するように動作することでコピー機能を実現する。
さらに、MFP100には、スキャナ134で読み取った画像データを画像処理回路136で画像処理を行い、ネットワークI/Fからネットワーク上に送信するSend機能、或いは画像処理回路136でRFC2301に従った画像を作成し、電子メールプロトコルでデータを送受信するIFAX機能が存在する。
さらにまた、図2において、電力制御回路141は、MFP100で消費する電力を制御する回路であり、ヒータ等の温度を下げる、或いは、使用されていない回路の電源を切ることで装置の消費電力を低下させることができる。MFP100には、電源制御回路141により操作部133とプリンタ135の定着温調回路の通電をストップする「スリープ(SLEEP)1の状態」、CPU130を含めてほとんどの回路の通電をストップする「スリープ2の状態」が存在する。
上記スリープ1の状態は、スリープ2の状態より消費電力は大きいものの、起動が指示された際にはスリープ2の状態よりも、より迅速に起動して即座に立ち上がって使用可能な状態になり、即時応答性が求められるスリープ状態である。尚、スリープ2の状態となった場合には、CPU130も停止するために、MFP100のソフトウェア制御は停止するようになる。
図2に示すネットワークI/F138、フォーマッタ部139及びファクス部140等の外部I/Fからの通信要求や、操作部133に存在する後述する節電キー411の押下によってCPU130は起動してスリープ2の状態から解除され、スリープ1の状態となる。また、外部I/Fからの通信データより画像が形成され、当該画像がプリンタ135に投入されると、スリープ1の状態も解除されてスタンバイ状態となる。その後、印刷処理が終了してスタンバイ状態で所定時間が経過、又は前述した節電キー411の押下によってスリープ1の状態になって、当該スリープ1の状態で所定時間が経過した後は、続いてスリープ2の状態になる。
図3は、MFP100が所有するネットワークプログラムの構成を説明するための図である。図3に示すように、MFP100におけるネットワークプログラムの構成は、IP(Internet Protocol)200、TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)201、アプリケーション階層の各種プロトコル202といった3階層のプログラムに大別できる。
まず、IP200は、発信ホストから宛先ホストに対してルータ等の中継ノードと連携しながらメッセージを送り届けるサービスを提供するインターネットのプロトコル階層である。IP200では、データを送信する発信先のアドレスや、データを受信する宛先のアドレスを管理し、データをアドレス情報に従ってネットワーク内をどのような経路で宛先ホストまで届けるかを管理するルーティング機能を実行する。
TCP/UDP201は、発信アプリケーションプロセスから受信アプリケーションプロセスにメッセージを送り届けるサービスを提供するトランスポート階層である。TCPは、コネクション型サービスであり、通信の高度な信頼性を保証する。一方、UDPは、コネクションレス型のサービスであり、信頼性の保証を行わない。
アプリケーション階層の各種プロトコル202は、複数のプロトコルを規定しており、このプロトコルには、ファイル転送サービスであるFTP(File Transfer Protocol)、ネットワーク管理プロトコルであるSNMP、プリンタ印刷用のサーバプロトコルであるLPD、WWW(World Wide Web)サーバのプロトコルであるHTTPd、電子メール送受信プロトコルSMTP(Simple Mail Transfer Protocol)、メールダウンロードプロトコルPOP3(Post Office Protocol−Version 3)、ユーザの電子メールアドレス等を管理するディレクトリデータベースにアクセスするためのプロトコルであるLDAP(Lightweight Directory Access Protocol)等が存在する。また、RFC1510で規定されているKerberos認証プログラムも搭載されている。
図4は、スキャナ134で読み取った画像データを電子メールで送信する際の操作部133の送信設定画面の一例を示す図である。MFP100では、読み取りサイズとして、スキャナ134が読み込む原稿サイズを指定することができる。例えば、サイズ設定部500では、A3、A4、A5、B4、B5、11×17、LTR、STMT等の用紙サイズとその向きを指定することができる。図4に示すように、現在は「自動」が設定されており、スキャナ134に存在する原稿検知センサが検知した値で読み込まれる。
また、解像度設定部501では、スキャナ134が画像を読み込む際の解像度を指定することができ、例えば、200×100、200×200、200×400、300×300、400×400、600×600dpiから指定することができる。尚、解像度のデフォルト値は例えば200×200であるが、現在は600×600dpiが設定されている。
さらに、詳細設定部502では、スキャン時の濃度設定、原稿タイプ指定、両面読み込み、ページ連写指定、画質調整等のスキャン時の詳細動作を指定することができる。
さらにまた、図4に示すように、電子メールの送信宛先のToフィールド503では、宛先を選択する場合にアドレス帳に登録されている宛先から選択することができる。同様に、Ccフィールド504では、宛先を選択する場合にアドレス帳に登録されている宛先から選択することができる。さらに、Bccフィールド505では、宛先を選択する場合にアドレス帳に登録されている宛先から選択することができる。尚、最大送信宛先は例えば256件までであるため、Toフィールド503で選択した宛先数と、Ccフィールド504で選択した宛先数と、Bccフィールド505で選択した宛先数とを合計した値が最大256件に制限され、この件数より多い宛先は入力することができない。
さらにまた、図4において、Subject入力部506及び本文入力部507は、それぞれ送信する電子メールに対して付与する件名とメール本文を入力する欄である。例えば、操作部133では、各設定欄が選択された場合に、ソフトキーボードが表示され、文字列を入力するようにすることができる。
さらにまた、図4において、送信データサイズ上限値設定部510は、電子メールを送信する際に許容される電子メールデータの最大サイズを設定する部分である。設定したデータサイズを越えた電子メールデータは、後述するように複数の電子メールに分割されて送信される。すなわち、結果的には、当該制限値よりも大きなデータサイズの電子メールは送信されないこととなる。尚、当該制限値として、「0」が設定された場合は無制限として動作するようにし、電子メールを分割することは実施されないようにしてもよい。
上述した実施形態では、送信される電子メールデータのサイズで送信する際の制限を付加する場合について説明したが、それ以外にも、送信されるTIFFファイルやJPEGファイル等の画像サイズに変換することによってデータサイズの制限に対処するようにしてもよい。
また、送信データサイズ上限値を前述したように図4に示す送信設定画面で設定することにより送信動作毎に変更することができるが、送信動作毎に変更する必要がない場合は機器情報管理の一部として設定するようにしてもよい。また、宛先毎に当該上限値の値を変える場合には、例えばアドレス帳の宛先毎に当該上限値を設定できるようにしてもよい。
さらに、図4に示すスタートキー509は、操作部133の横に設置されているハードキーであり、ユーザがこのキーを押下することによりスキャナ134が駆動し、読み取られた画像が送信される。また、スタートキー509の中央には青と赤のLED508が実装されている。そして、送信宛先が1つも指定されていない場合は、赤色のLEDが点灯して、スタートキー509を押下してもスキャナ134が駆動することはできない状態であることをユーザに知らせる。一方、送信宛先を1つでも指定した場合には、青色のLEDが点灯して、スキャナを駆動することができる状態になったことをユーザに知らせる。
さらにまた、節電キー511は、スタンバイ状態で当該キーが押下されると電力制御回路141により前述したようなスリープの状態に移行し、スリープの状態時に当該キーが押下された場合にはスタンバイ状態に復帰させることができるハードキーである。
図6は、画像ファイルが添付された電子メールを5つの分割メールに分割した様子を説明する図である。図6に示すように、電子メールデータは、メールヘッダ850、メール本文851、1ページ目の画像データ852、2ページ目の画像データ852、3ページ目の画像データ854、4ページ目の画像データ855、5ページ目の画像データ856から構成される。当該電子メールは、図8に示すように5つに分割され、[1/5]の分割メール860、[2/5]の分割メール861、[3/5]の分割メール862、[4/5]の分割メール863、及び、[5/5]の分割メール864から構成される。
そして、上記分割メールを送信する際には、各メールの先頭には宛先情報等が記述されたメールヘッダ850と同じような部分メールヘッダと、当該電子メールが分割メールであることを示すMIME識別子、分割メール毎に固有に付けられる分割ID、分割番号、及び、分割トータル番号等の情報が付加されて送信されることとなる。
図5は、図4に示す送信設定の状態で送信される分割メールデータの一例を示す図である。図5において、第1行から第13行までの部分が、当該分割メールを配信するためのメールヘッダである。第3行のFromには、MFP100に付与されたメールアドレスが記載される。また、第4行のSubjectは、Subject入力部506で入力された文字列をRFC2047で定義されているencoded−word形式にしたデータである。さらに、第5行のToは、Toフィールド503で選択された宛先、Ccフィールド405はCcフィールド505で選択された宛先、そしてBccフィールド407はBccフィールド505で選択された宛先に関するデータを上記encoded−word形式にしたデータである。尚、第10行は、送信元の通信装置から電子メールの送信確認要求をするメールに含まれるMDNフォーマットを示すデータである。
また、第12行の「Content−Type: message/partial;」は、本メールが分割メールであることを示し、「number=1; Total=5」によって、5つに分割されたメールの第1番目のデータであることを示している。さらに、第13行の「id=”20041110104508.0000.TxNo.0105@copy3.xyz.co.jp”」は、日付、時刻、送信されるごとにカウントアップされる送信受付番号、送信機のドメイン名から構成される分割メールの分割id番号を示している。尚、当該id番号が同じメールは同一メールを分割した分割メールとみなされる。
次に、第15行から第44行までのデータは、分割メール(すなわち、5つに分割されたメールの第1番目のデータ)の実体データを示している 。まず、第15行から第25行までの部分が、メールヘッダ850に相当する分割された電子メールのメールヘッダであり、第17行のFrom、第19行のTo、第20行のCc、第22行のBcc等は、上記第3行のFrom、第5行のTo、第6行のCc、第8行のBccと同じである。
また、第18行のSubjectは分割される前のSubjectであるため、Subject入力部506で入力した「資料送付」という文字列がencoded−word形式にされたデータである。これに対して、第4行のSubjectは分割メールのSubjectであるため、この文字列の先頭に「[1/5]」という文字列が付与され、「[1/5]資料送付」という文字列をencoded−word形式にしたデータとなる。
さらに、第30行、第31行は、本文入力部507で入力された本文をJIOSコードに変換したテキストデータであり、メール本文851に相当する。このメール本文は日本語テキストデータであるため、第28行に「Content−Type: text/plain; charset=”ISO−2022−JP”」のデータが付与される。
さらにまた、第38行から第44行までのデータは、1ページ目までのデータ852に相当し、スキャナから読み取ったデータをファイル名Image.tifとしてTIFF画像ファイル化し、このファイルをBASE64エンコードしたデータである。第34行、第35行、第36行にその旨が明記されている。そして、2ページ目以上のデータは、分割番号が2、3、4、5として同様のメールが生成されて送信されることとなる。すなわち、第12号のnumberがそれぞれ2、3、4、5に変わるとともに、第9行のMessage−IDがメールごとに異なる点を除き、メールヘッダ等の部分は共通となる。
尚、分割id番号が同じメールデータを抽出して、その番号で示される順番どおりに結合することによって、分割される前のメールデータとして合成することが可能となる。
図7は、分割メールが一時的に蓄積された際に操作部133に表示される分割受信ボックスの画面例を示す図である。図7に示すように、現在は異なる3件の分割メール600、601、602が分割受信ボックスに格納されている。また、図7において、件名610は、受信した分割メールのそれぞれの件名であり、図5に示す分割メールの場合、分割メールの件名を示す第4行のSubject、又は、分割前のメールの件名である第18行のSubjectが表示されている。
分割メール600は、分割されたメールの先頭メールを受信できるので、分割されたメールの件名である第18行のSubjectを表示している。また、分割メール601、602は、メールの先頭メールが受信できないために、それぞれの分割メールの件名である第4行のSubjectを表示している。
また、図7において、相手先611は電子メールの差出人を示しており、分割されたメールの先頭メールを受信できている場合は第17行のFrom情報を代入し、先頭メールが受信できていない場合は分割メールのFrom情報である第3行で示されるFrom情報の値を代入する。
さらに、受信数612は、分割IDが同一のメールのトータル数と、受信できているメール数を示した値であり、例えば、分割メール600はトータル5通で、受信できているメール数が3通であることを示している。さらにまた、受信時刻613は、各分割メールを最初に受信した受信時刻を示している。
さらにまた、分割リストボタン620は、選択した分割メールのリスト表示を1通ずつ実行するためのボタンである。また、プリントボタン621、送信ボタン622は、それぞれ選択した分割メールを合成した後、合成されたメールを印刷するボタン、送信するボタンである。尚、これらについては、図12を用いて詳細に後述する。さらに、再送依頼ボタン623は、分割メールが全て揃わなかった場合に、送付元へ再送信を依頼するためのボタンである。尚、これについては、図9を用いて後述する。さらにまた、図7において、矢印キー624、625は、リスト表示される分割メールが多く、全てを一度に表示列挙できない場合に操作者が画面をスクロールするためのキーである。
図8は、図7に示す分割メール600を選択して分割リストボタン620を押下した時に表示される画面を示す図である。図8には、分割メール660、661、662の3通のメールが表示されている。図8に示す画面に表示されたリストは、全て分割IDが同一のものであり、分割ID650にその値が表示されている。尚、分割IDに示される値は、図5に示す第9行のデータに基づいて作成される。
図8において、相手先651は相手先611と同じデータであり、電子メールの差出人情報を示している。また、件名652は、分割メールのSubject情報であり、図5の第4行のSubject情報である。また、分割番号653は、分割メールの分割番号であり、第12行のnumber/totalの値である。尚、totalの値は、最後の分割メール以外は記入しなくても許容されるため、当該total値が記入されていない場合もあり得る。
さらに、図8において、データサイズ654は、各分割メールのデータサイズであって、受信時刻655は各分割メールを受信した時刻である。さらにまた、戻るキー658は、図8に示される画面を閉じて図7に示される画面に戻るためのキーであり、スクロールキー656、657は、リスト数が多数存在して全てを一度に表示することができない場合に操作者が画面をスクロールするためのキーである。
図9は、図7に示す操作部133に表示される分割受信ボックスの画面例における再送依頼ボタン623が押下された場合のMFP100における再送要求処理手順を説明するためのフローチャートである。
まず、再送依頼ボタン623が押下されて再送要求を受けると、図7に示す画面において選択されているリストから分割IDを取得する(ステップS701)。次に、ステップS701で取得した分割IDと同一の分割IDのうち、取得していない分割メールの分割番号(未着番号)の検索を行う(ステップS702)。そして、送信元に対して、取得されていない分割メールの再送要求メールを作成して送信し(ステップS703)、再送要求処理を終了する。
図10は、本発明の一実施形態に係るMFP100における分割メールの受信、合成、印刷、或いは転送等するための処理手順を説明するためのフローチャートである。
MFP100では、ネットワークI/F138からのSTMP要求を受けることによってSMTP受信処理が開始される(ステップS500)。ここで、ネットワークI/F138からのSMTP要求を受信した際にMFP100がスリープ2の状態であった場合、ネットワークI/F138からの割り込み信号によってCPU130を起動し、電源制御回路141によってスリープ2の状態を解除する。そこで、当該SMTP要求によって、CPU130がスリープ2の状態になることを禁止する命令が行われ(ステップS501)、その結果、次にスリープ(SLEEP)が許可されるまで、CPU130がスリープ状態になることはない。そして、MFP100は、SMTPプロトコルによって電子メールデータを受信(SMTP受信)する(ステップS502)。
一方、不図示のタイマによって所定時間毎にタイマ割り込み信号がCPU130に入力され、POP受信を行う処理が開始される(ステップS503)。この割り込み信号によって、MFP100がスリープ2の状態であった場合にはCPU130が起動して、電源制御回路141によって当該スリープ2の状態が解除される。そして、CPU130がスリープ2の状態になることを禁止する命令が行われ(ステップS504)、その結果、次にスリープ(SLEEP)が許可されるまで、CPU130がスリープ状態になることはない。そして、MFP100は、POP3プロトコルによってMailサーバ/POPサーバに蓄積されている電子メールデータを受信(POP受信)する(ステップS505)。
SMTP受信(ステップS502)或いはPOP受信(ステップS503)によってMFP100で受信された電子メールデータは、MIMEデータが解析されて、図5の第12行に記載されているmessage/partial形式のメールであるか否かが判断され(ステップS506)、message/partialの記述がある場合は分割メールであると判断される。
ステップS506で分割メールであると判断された場合(Yes)、分割メールは分割受信ボックスに格納され(ステップS507)、分割メールではないと判断された場合(No)は、ステップS510の画像抽出処理に遷移する。
ステップS507で分割メールが分割受信ボックスに格納されると、格納されたことにより分割メールの断片が全てそろったか否かが検査される(ステップS508)。その結果、分割メールが全ては揃っていない場合(No)は、図11に示すフローチャートを用いて、分割データが全ては揃っていない場合の処理(ステップS521)を行う。
一方、ステップS508で分割メールの断片が全て揃ったと判断された場合(Yes)、MFP100では、分割番号順にそれぞれの分割メールからデータが切り出され、順番に結合することでデータの合成を行って(ステップS509)、ステップS510に遷移する。
ステップS510では、ステップS509で結合された電子メール、或いは受信された分割されていない通常のメールから、同様に画像情報抽出処理が行われる。本実施形態では、予めBASE64又はuuencodeされているメールデータをデコードしてTIFFファイルに変換し、変換されたTIFFファイルから画像データを抽出するようにする。また、電子メールにテキストデータが存在する場合、当該テキスト情報はラスタライズされて画像データとなる。
ステップS510で画像データが抽出された後、電子メールの送信元がMDN(Mail Delivery Notification:開封確認通知)要求をしているかどうかの判定を行う(ステップS511)。その結果、開封確認通知要求をしている場合(Yes)は、開封確認通知要求(MDN要求)に対してOKの旨の返事を送信する(ステップS512)。一方、MDN要求をしていない場合(No)、或いはステップS512によってOKを送信した場合は、受信ログにOKを記録する(ステップS513)。
また、本実施形態に係るネットワークシステムでは、受信した電子メールのTo、Form、Subjectの値がある一定値である場合に、それらの宛先(システムボックスも含む。)に対して画像データを転送するという転送機能が存在する。そこで、これらのデータの転送条件を検索して取得する(ステップS514)。そして、取得した転送情報と電子メールのヘッダフィールドに設定されているTo、From、Subjectフィールドの値とを比較する(ステップS515)。その結果、To、From、Subjectフィールドの値が転送条件とマッチした場合(Yes)は、データ転送処理が実行される(ステップS516)。
一方、ステップS515で、To、From、Subjectフィールドの値が転送条件とマッチしない場合(No)は、システムボックス格納処理を行うか否かを判断する(ステップS517)。ステップS517では、転送宛先がシステムボックスに設定されている場合やプリンタ135に印刷用紙がない等の理由で印刷ができない場合は、システムボックス格納が選択され(Yes)、システムボックス格納処理が実行される(ステップS518)。尚、システムボックス格納処理が実行された後はステップS520の処理に遷移する。一方、システムボックス格納を行わない場合(No)は、メール本文がラスタライズされた画像と添付されたTIFFファイルより抽出された画像の印刷処理が行われ(ステップS519)、ステップS520の処理に遷移する。
ステップS520では、電力制御回路141によってMFP100はスタンバイ状態(すなわち、スリープ状態)に移行することを許可して処理を終了する。スリープ状態への移行が許可されると、プリンタの温度等の状態や他の回路の状態に応じて、電力制御回路141が前述したスリープ1或いはスリープ2の状態の省電力状態となる。
図11は、図10に示すフローチャートにおける分割受信ボックスに分割メールが全てそろわなかった場合の処理(ステップS521)の詳細を説明するためのフローチャートである。まず、前回の分割メールを受信した後、又は再送要求メールを送信した後に、所定時刻が経過しているか否かを判断する(ステップS601)。その結果、所定時刻が経過していない場合(No)は、前述したSTMP受信(ステップS500)やPOP受信(ステップS503)の受信待機を行う。
一方、所定時刻が経過している場合(Yes)は、再要求メールが送信済みか否かを判断する(ステップS602)。その結果、再要求メールが未送信である場合(Yes)は、同一の分割IDのうち取得していない分割メールの分割番号(未着番号)の検索を行う(ステップS603)。そして、送信元に対して、取得されていない分割メールの再送要求メールを作成して送信し(ステップS604)、前述した受信待機を行う。
一方、ステップS602で再要求メールが送信済みである場合(No)は、所定時間経過した分割メールと同じ分割メールのIDを検索する処理を行う(ステップS605)。そして、検索して得られた分割IDが同じ分割メールに、図5に示す第12行のnumber=1の先頭メールが存在するか否かの判定を行う(ステップS606)。
その結果、先頭メールが存在しないと判定された場合(No)は、numberが1以外の受信した分割メールの差出人情報が格納されているメールヘッダ情報を抽出する(ステップS607)。次いで、文字列データを画像データに指定されているフォントデータを用いて画像にラスタライズし(ステップS608)、ステップS614に遷移する。
一方、ステップS606で先頭メールが存在すると判定された場合(Yes)は、同じ分割メールを図5に示す第12行のnumberの順番に並べて、当該numberが1から存在する番号まで順番に結合する処理を行う(ステップS609)。この処理により、図6に示すようにメールデータが復元されるが、届かなかった部分は復元することができない。
例えば、図6において、[5/5]メール864だけが届かなかった場合は、メール本文と1ページから7ページまでのデータは合成することが可能である。しかしながら、8ページ目の画像を合成することは不可能となる。
また、[1/5]メール860から[3/5]メール862までは受信することができたが、[4/5]メール363を受信することができなかった場合は、メール本文と1ページから5ページの画像は合成することができるが、6ページから8ページ目までの画像を合成することはできない。
さらに、[1/5]メール360から[2/5]メール361までは受信することができたが、[3/5]メール362を受信することができなかった場合は、メール本文と1ページから3ページの画像は合成することができるが、4ページから8ページ目までの画像は合成することができない。
さらにまた、[1/5]メール360は受信することができたが、[2/5]メール361を受信することができなかった場合は、メール本文と1ページ目の画像は合成することができるが、2ページから8ページ目までの画像は合成することができない。
さらにまた、[1/5]メール360が受信できない場合は、全ての情報と画像を合成することができない。しかし、この場合であっても、[2/5]メール361から[5/5]メール364のメールヘッダ情報に、差し出し人情報、Subject、送信時刻等の情報が含まれているため、これらの情報を印刷することができる。これにより、画像を印刷できない場合であっても、送信者を特定することができ、当該送信者に対して再送信を依頼することができるといったメリットが存在する。
ステップS609で分割メールを結合したメールうち、図5に示す第15行から第25行の部分にあたるメールヘッダ、第30行と第31行のメール本文の文字列データが取得される(ステップS610)。そして、文字列データは、画像データに指定されているフォントデータを用いて画像にラスタライズされ(ステップS611)、ステップS612に遷移する。
ステップS612では、図6に示す852から859の画像データが存在するか否かが判断される。その結果、画像データが存在する場合(Yes)は、画像情報抽出処理を行って(ステップS613)、ステップS614に遷移する。尚、ステップS613では、図6の852から859で示される画像の合成ができた部分の画像データをBASE64エンコード、又は、uuencodeされている部分がデコードされてTIFFファイルに変換される。また、作成されたTIFFファイルがマルチページ形式の場合は、シングルページのTIFFファイルに変換する処理を行う。尚、この場合、中途半端なページデータは削除して、変換処理を中断する。また、最後の中途半端な画像データが、MH、MR、MMR等のページ途中で切れたデータであっても、画像の1ラインとして成立した部分は画像データとして扱い、1ラインに満たない画像は削除するようにしてもよい。
ステップS614では、電子メールの送信元がMDN要求をしているかどうかの判定を行う。その結果、MDN要求をしている場合(Yes)は、NGを送信する(ステップS615)。尚、NGを送信するとは、送信元(ifax@copy1.xyz.co.jp)に対して、例えば、送信エラーが発生した旨を本文として含む電子メールにて通知することにより行う。電子メールには、分割メールのうち未着の分割メールを識別する情報を更に通知するようにしても良い。なお、未着の分割メールを識別する情報を送信元(ifax@copy1.xyz.co.jp)に通知することにより、送信元には、複数の分割メールの元となった電子メールの少なくとも一部が受信先(ifax@abc.co.jp)に送達された旨が通知されることにもなる。一方、MDN要求をしていない場合(No)、或いはステップS615でNGを送信した場合は、受信ログにNGを記録する(ステップS616)。
次に、取得した転送条件と電子メールのヘッダフィールドに設定されているTo、From、Subjectフィールドの値とを比較する(ステップS617)。その結果、To、From、Subjectフィールドの値が転送条件とマッチした場合(Yes)は、データ転送処理が実行される(ステップS618)。
一方、ステップS617で、To、From、Subjectフィールドの値が転送条件とマッチしない場合(No)は、システムボックス格納処理を行うか否かを判断する(ステップS619)。ステップS619では、転送宛先がシステムボックスに設定されている場合やプリンタ135に印刷用紙がない等の理由で印刷ができない場合は、システムボックス格納が選択され(Yes)、システムボックス格納処理が実行される(ステップS620)。尚、システムボックス格納処理が実行された後はステップS622の処理に遷移する。一方、システムボックス格納を行わない場合(No)は、メール本文がラスタライズされた画像と添付されたTIFFファイルより抽出された画像の印刷処理が行われ(ステップS621)、ステップS622の処理に遷移する。
ステップS622では、同一分割IDのメールが削除され、終了する。尚、電子メール受信方法として、本実施形態ではSMTP、POP受信を用いて説明したが、IMAP等のプロトコルを用いて電子メールを受信する方法であってもよい。
また、上述した実施形態では、通常の電子メールに送達確認要求が含まれている場合は、その受信に応じて送達確認メールを返信し、分割メールについてはそれぞれを受信した際にすぐに送達確認メールを送信せず、2以上の分割メールが揃って初めて送達確認メールを送信した。例えば、全ての分割メールが揃った場合には、正常であるとの送達確認メールを送信し、一部のみが揃っただけの場合には、正常でないとの到達確認メールを送信するようにした。
ここで、上記処理において分割メールを合成する場合(例えば、図10のステップS509)、前述したように複数の分割メールのすべてにMDN要求のフォーマット文(例えば、図5の第10行のDisposition−Notification−To)を記入しておく他に、分割メールの各ヘッダデータにはMDN要求のフォーマットは記入せずに、分割前のメールのヘッダデータにMDN要求のフォーマット文を記入するようにしてもよい。
図12は、分割前のメールのヘッダデータにMDN要求のフォーマット文を記入するようにした分割メールデータの一例を示す図である。図5に示すような分割メールデータではなく、図12に示すような分割メールデータを用いることによって、分割されたメールを合成した後に初めてそのメールにMDN要求がされていたことを確認することができる。尚、この場合の処理手順については、前述した図10及び図11に示すフローチャートと同様であって、ステップS511のMDN要求があるか否かの判断が、ステップS509のデータ合成後に初めてできる部分が異なる。
従って、所定の送信先へ電子メールを送信させるための送信要求情報が含まれる電子データを複数に分割した分割メールを受信した場合に、複数の分割メールを合成して電子データの少なくとも一部が送達されたことを示す送達確認を適切に行うことができる。
また、図5は複数の分割メールの各メールのヘッダに送達確認要求(MDN要求)を示す"Disposition-Notification to"文が記入されており、図12は分割前のメールのヘッダに送達確認要求(MDN要求)を示す文が記入されていた。それに対して、複数の分割メールの各メールのヘッダに送達確認要求(MDN要求)を示す文が記入されるとともに、分割前のメールのヘッダに送達確認要求(MDN要求)を示す文が記入される態様も考えられる。この態様における処理手順については、前述した図10及び図11に示すフローチャートと同様であって、ステップS511のMDN要求があるか否かの判断を、分割メールの各メールのヘッダに送達確認要求(MDN要求)を示す文が含まれていること、又は分割前のメールのヘッダに送達確認要求(MDN要求)を示す文が記入されていることのいずれかを確認することにより行えばよい。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。なお、上記の実施形態においては、分割メールが全ては揃っていない場合に、未着の分割メールの再送を送信元に要求することとしたが(ステップS602〜604)、このステップを省略する形態としても良い。この場合、分割メールに未着のものがあったとしても、受信済みの分割メールを合成(結合)することで迅速に処理することができる。
また、上記の実施形態においては、分割メールが全ては揃っていない場合に、前回のメール受信後、又は再送要求メール送信後に所定時間が経過したことにより分割メールの合成(結合)を行うようにしているが、操作部133に分割メールの合成を指示するためのキーを設け、分割メールの全てを受信する以前にキーが押下されて合成指示があったことに応じて、分割メールの合成(結合)を行うようにしても良い。
また、上記の実施形態においては、電子メールに送達確認要求(MDN要求)がある場合に、電子メールを受信した段階で電子メールの受信を確認することとしたが他の形態であってもよい。例えば、IFAXの場合は電子メールをプリンタ135にてプリント(画像形成)することを前提としているので、電子メールにかかる画像データをプリンタ部135にてプリント完了(例えば、画像データに対応する現像剤が定着された記録紙が排紙トレイ371へ排出された)したことにより、電子メールが受信されたことを確認するようにしても良い。この場合、図10におけるステップS512はステップS519の後に実行され、図11のステップS615はステップS621の後に実行されることとなる。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。