(57)【要約】【課題】ネットワーク構成やメール送信ソフトウェアに依存せず、容易に導入可能な電子メールの誤送信防止用の電子メール送信制御プログラムを提供する。【解決手段】本発明にかかる電子メール送信制御プログラムは、電子メールを送信するためのソフトウェアであるメーラＭと同じコンピュータ装置１で動作するものであり、メーラＭが送信しようとした電子メールを横取りするネットワークドライバ部Ｎと、横取りした電子メールを送信すべきかどうか判定するポリシー判定部Ｐと、ポリシー判定部Ｐによる判定結果に応じて、電子メールを削除するか、そのまま電子メールサーバ装置２宛に送信するかどうかを決定するプロキシーサーバ機能部Ｓとを備えている。【選択図】  図２
2011159244.tif 000002
【特許請求の範囲】
【請求項１】
電子メールの作成と送信を実行する電子メール作成送信部としてコンピュータ装置を動作させるための電子メール送信プログラムが搭載されたコンピュータ装置を、ネットワークドライバ部とプロキシーサーバ機能部とポリシー判定部として動作させるための電子メール送信制御プログラムであって、
前記ネットワークドライバ部は、
前記コンピュータ装置外部に送出されようとするＩＰデータパケットの送信を中断する中断手段と、
当該ＩＰデータパケットが電子メールであるかどうかを判断する判断手段と、
その判断の結果電子メールであれば、当該ＩＰデータパケットの送信先ＩＰアドレスを前記コンピュータ装置のＩＰアドレスに設定すると共に送信先ポート番号を前記プロキシーサーバ機能部で使用されるポート番号に設定して送出する送出手段とを含み、
前記プロキシーサーバ機能部は、
前記ネットワークドライバ部から電子メールを受け取った旨を前記ポリシー判定部に対して通知するメール通知手段と、
前記ポリシー判定部からの判定情報に基づいて、当該電子メールの破棄又は送信を決定する決定手段とを含み、
前記ポリシー判定部は、
ポリシーデータを取得する取得手段と、
前記プロキシーサーバ機能部から通知された電子メールが前記ポリシーデータに定められた条件に合致するか否かを判定する判定手段と、
その判定結果に応じた判定情報を前記プロキシーサーバ機能部に対して通知する情報通知手段とを含むこと
を特徴とする電子メール送信制御プログラム。
【請求項２】
前記ネットワークドライバ部は、
前記プロキシーサーバ機能部に電子メールが受け渡された場合、電子メールを受け取った旨の応答信号を、その返信元ＩＰアドレスを電子メールサーバ装置のＩＰアドレスに設定すると共に返信元ポート番号を前記電子メールサーバ装置のポート番号に設定して前記電子メール作成送信部宛に送出する手段をさらに備える
請求項１に記載の電子メール送信制御プログラム。
【請求項３】
前記電子メール送信制御プログラムは、
前記コンピュータ装置を破棄通知機能部として動作させるためのプログラムであり、
当該破棄通知機能部は、
前記プロキシーサーバ機能部によって電子メールが破棄された場合、破棄された電子メールの送信元メールアドレスを送信先のメールアドレスとして設定した破棄通知用電子メールを作成する手段と、
当該破棄通知用電子メールを前記電子メールサーバ装置宛に送出する手段とを含む
請求項１又は２に記載の電子メール送信制御プログラム。
【請求項４】
前記破棄通知用電子メールには、電子メールが破棄された理由が含まれている請求項３に記載の電子メール送信制御プログラム。
【請求項５】
前記ポリシー判定部は、
ユーザからの入力を受け付けるための表示を行う表示手段を備えており、
当該表示手段は、
前記プロキシーサーバ機能部から通知された電子メールが前記ポリシーデータに定められた条件に合致する場合に前記表示手段による表示を行い、
前記情報通知手段は、
当該表示手段によって受け付けたユーザからの入力に応じた情報を前記判定情報に含める
請求項１乃至４のいずれか１つに記載の電子メール送信制御プログラム。
【請求項６】
電子メールの作成と送信を実行する電子メール作成送信部としてコンピュータ装置を動作させるための電子メール送信プログラムが搭載されたコンピュータ装置を、ネットワークドライバ部とプロキシーサーバ機能部とポリシー判定部として動作させるための電子メール送信制御プログラムを用いた前記コンピュータ装置の動作方法であって、
前記ネットワークドライバ部は、
前記コンピュータ装置外部に送出されようとするＩＰデータパケットの送信を中断するステップと、
当該ＩＰデータパケットが電子メールであるかどうかを判断するステップと、
その判断の結果電子メールであれば、当該ＩＰデータパケットの送信先ＩＰアドレスを前記コンピュータ装置のＩＰアドレスに設定すると共に送信先ポート番号を前記プロキシーサーバ機能部で使用されるポート番号に設定して送出するステップとを実行し、
前記プロキシーサーバ機能部は、
前記ネットワークドライバ部から電子メールを受け取った旨を前記ポリシー判定部に対して通知するステップと、
前記ポリシー判定部の判定結果に応じて、当該電子メールの破棄又は送出に決定するステップとを実行し、
前記ポリシー判定部は、
ポリシーデータを取得するステップと、
前記プロキシーサーバ機能部から通知された電子メールが前記ポリシーデータに定められた条件に合致するか否かを判定するステップと、
その判定の結果を前記プロキシーサーバ機能部に対して通知するステップとを実行すること
を特徴とする動作方法。
【請求項７】
電子メールの作成と送信を実行する電子メール作成送信部と、ネットワークドライバ部と、プロキシーサーバ機能部と、ポリシー判定部とを備える電子メール送信制御用のコンピュータ装置であって、
前記ネットワークドライバ部は、
前記コンピュータ装置外部に送出されようとするＩＰデータパケットの送信を中断する手段と、
当該ＩＰデータパケットが電子メールであるかどうかを判断する手段と、
その判断の結果電子メールであれば、当該ＩＰデータパケットの送信先ＩＰアドレスを前記コンピュータ装置のＩＰアドレスに設定すると共に送信先ポート番号を前記プロキシーサーバ機能部で使用されるポート番号に設定して送出する手段とを含み、
前記プロキシーサーバ機能部は、
前記ネットワークドライバ部から電子メールを受け取った旨を前記ポリシー判定部に対して通知する手段と、
前記ポリシー判定部の判定結果に応じて、当該電子メールの破棄又は送出に決定する手段とを含み、
前記ポリシー判定部は、
ポリシーデータを取得する手段と、
前記プロキシーサーバ機能部から通知された電子メールが前記ポリシーデータに定められた条件に合致するか否かを判定する手段と、
その判定の結果を前記プロキシーサーバ機能部に対して通知する手段とを含むこと
を特徴とするコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子メール送受信用プログラムによって送信される電子メールの送信を制御し、誤送信を防止するための電子メール送信制御プログラムに関する。
【背景技術】
【０００２】
近年、あらゆる分野における事業活動において電子メールの活用は必要不可欠となっており、１日に１００通を超える電子メールをやり取りすることが常態化している。
電子メールは手軽で瞬時に送受信が可能であるという利点がある一方で、誤った内容で送信してしまったり、宛先を間違えたりするケースも多い。
【０００３】
そこで、こういったいわゆる電子メールの誤送信を未然に防ぐ方法が複数提案されている。誤送信を防止する仕組みにはいくつか存在するが、（１）ユーザが扱うクライアント装置にインストールされた電子メール送受信用ソフトウェアにメール誤送信防止機能を追加するタイプ、（２）電子メールを集配信するメールサーバ装置側にメール誤送信防止機能を追加するタイプ、（３）クライアント装置とメールサーバ装置との間に誤送信された電子メールを捕捉する誤送信防止用装置を別途設けるタイプ等がある。
上記のうち、（１）のようなものとしては例えば特許文献１等がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１９３７１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の（１）〜（３）のような仕組みには、それぞれ一定の問題点やデメリットが存在する。
まず、（１）のようにクライアント装置の電子メール送受信用ソフトウェアに機能を追加する場合、少なくとも、ユーザが使用する可能性のある複数の電子メール送受信用ソフトウェア全てについてメール誤送信防止機能を開発する必要があり、開発に多大なコストを要するという問題がある。
また、ユーザが電子メール誤送信防止機能を持たない電子メール送受信用ソフトウェアを使用した場合には、そもそも電子メールの送受信を防止することができない、という問題もある。
【０００６】
（１）の問題点に鑑みて、（２）や（３）のようにメールサーバ装置側もしくはメールサーバ装置とクライアント装置との間に置いた誤送信防止用装置にメール誤送信防止機能を追加する方法を採用した場合、例えば、企業の社員がクライアント装置を社内ＬＡＮに接続して使用する限り問題は起きないが、出張等で社外に持ち出して、別のメールサーバを経由して送信した場合には誤送信の防止は不可能となってしまう。
【０００７】
本発明は、上記のような点に鑑みてなされたものであり、電子メール送受信用ソフトウェアの種類や、電子メールを送信した時の通信ネットワーク構成等に依存せずにメール誤送信を防止することが可能なプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明にかかる電子メール送信制御プログラムは、電子メールの作成と送信を実行する電子メール作成送信部としてコンピュータ装置を動作させるための電子メール送信プログラムが搭載されたコンピュータ装置を、ネットワークドライバ部とプロキシーサーバ機能部とポリシー判定部として動作させるためのものであり、前記ネットワークドライバ部は、前記コンピュータ装置外部に送出されようとするＩＰデータパケットの送信を中断する中断手段と、当該ＩＰデータパケットが電子メールであるかどうかを判断する判断手段と、その判断の結果電子メールであれば、当該ＩＰデータパケットの送信先ＩＰアドレスを前記コンピュータ装置のＩＰアドレスに設定すると共に送信先ポート番号を前記プロキシーサーバ機能部で使用されるポート番号に設定して送出する送出手段とを含み、前記プロキシーサーバ機能部は、前記ネットワークドライバ部から電子メールを受け取った旨を前記ポリシー判定部に対して通知するメール通知手段と、前記ポリシー判定部からの判定情報に基づいて、当該電子メールの破棄又は送信を決定する決定手段とを含み、前記ポリシー判定部は、ポリシーデータを取得する取得手段と、前記プロキシーサーバ機能部から通知された電子メールが前記ポリシーデータに定められた条件に合致するか否かを判定する判定手段と、その判定結果に応じた判定情報を前記プロキシーサーバ機能部に対して通知する情報通知手段とを含んでいる（請求項１）。
【０００９】
この発明の電子メール送信制御プログラムは、電子メールの送信を行うための電子メール送信プログラムと同じコンピュータ装置に搭載されるため、ユーザがクライアント装置を持ち出して異なるネットワーク環境のもとでメールの送信を行う場合にもメールの誤送信を防止することが可能となる。
また、この電子メール送信制御プログラムは、電子メール送信プログラムとは異なる別のプログラムであり、前記コンピュータ装置から送出されようとする全ての電子メールを対象とすることができるため、電子メール送信プログラムの種類を問わず適用することが可能である。
【００１０】
さらに、本発明によれば、電子メール送信制御プログラムが電子メール送信プログラムの動作に影響を与えることなくメールの誤送信を防止する役割を果たすことができる。つまり、電子メール作成送信部（電子メール送信プログラム）は、電子メール送信制御プログラムの有無に関わらず電子メールサーバ装置宛に電子メールを送信する処理を実行するだけでよく、電子メール送信制御プログラムの有無に応じて動作を切り替えたりする必要がない。
したがって、電子メール作成送信部（電子メール送信プログラム）側において特別な処理を追加したり設定変更等を行ったりする必要がないという点で大変有利である。また、電子メール作成送信部（電子メール送信プログラム）の動作に影響を与えないため、電子メール送信制御プログラムをインストールしたりアンインストールしたりした場合であっても、その都度電子メール送信プログラムの設定を変更する必要がなく、煩わしさがない。
【００１１】
なお、前記ネットワークドライバ部には、前記プロキシーサーバ機能部に電子メールが受け渡された場合、電子メールを受け取った旨の応答信号を、その返信元ＩＰアドレスを電子メールサーバ装置のＩＰアドレスに設定すると共に返信元ポート番号を前記電子メールサーバ装置のポート番号に設定して前記電子メール作成送信部宛に送出する手段をさらに備えさせても良い（請求項２）。
【００１２】
前記応答信号の実際の返信元は同一コンピュータ装置内のプロキシーサーバ機能部であるから、この応答信号の返信元ＩＰアドレスは前記コンピュータ装置のＩＰアドレス、返信元ポート番号はプロキシーサーバ機能部に使用されるポート番号である。しかし、前記電子メール作成送信部（電子メール送信プログラム）は電子メールを電子メールサーバ装置宛に送信して応答信号を待っている状態であるから、応答信号の返信元ＩＰアドレス等が前記コンピュータ装置のＩＰアドレス等となっていると、自己の送信した電子メールに対する応答信号と認識することができなくなる。
そこで、前記応答信号の返信元ＩＰアドレスを前記電子メールサーバ装置のＩＰアドレスに書き換えると共に、返信元ポート番号を電子メールサーバ装置のポート番号に設定することで、前記電子メール作成送信部（電子メール送信プログラム）に、電子メールサーバ装置が返信してきたと認識させることができるようになる。電子メール作成送信部（電子メール送信プログラム）から見ると、電子メールサーバ装置に対する電子メールの送信処理を実行した結果、電子メールサーバ装置から応答信号が送られてきたと判断できるため、正常に電子メールの送信処理を完了したと認識できることになる。
このように、電子メール作成送信部（電子メール送信プログラム）の動作には一切影響を与えずに（電子メール送信プログラムに本発明の電子メール送信制御プログラムの存在を意識させることなく）メール誤送信防止処理を実行することが可能となり至便である。
【００１３】
なお、前記電子メール送信制御プログラムを前記コンピュータ装置を破棄通知機能部としても動作させるためのプログラムとし、その破棄通知機能部には、前記プロキシーサーバ機能部によって電子メールが破棄された場合、破棄された電子メールの送信元メールアドレスを送信先のメールアドレスとして設定した破棄通知用電子メールを作成する手段と、当該破棄通知用電子メールを前記電子メールサーバ装置宛に送出する手段とを含ませるようにすることが望ましい（請求項３）。
【００１４】
電子メール送信プログラムを操作して電子メールを送信するユーザは、原則として電子メール送信プログラムの処理が正常に完了したら電子メールの送信が行われたものと考えるのが一般的であるので、電子メールを破棄した旨を別途通知することによって、送信しようとした電子メールが送信を許可されていないものであったことをユーザに認識させることができるようになる。
なお、この場合のユーザへの通知方法は、画面上に破棄した旨を文字で表示する方法や音声で知らせる方法等いろいろ考えられるが、ユーザが操作する電子メール送信プログラムが受信可能な形式の破棄通知用の電子メールを送信して通知する方法がより好適である。
電子メール送信プログラムには、送信しようとした電子メールの送信記録が残されているから、その電子メール送信プログラムに、その電子メールが破棄された旨も一緒に記録することで、ユーザは、電子メール送信プログラムの記録を確認するだけで電子メールの送信を試みたが破棄された、という一連の事実を一度に認識することができるようになる。
【００１５】
なお、この場合の破棄通知用電子メールには、前記電子メールが破棄された理由が含まれているとさらに良い（請求項４）。
通常、送信を試みた電子メールが破棄された場合には、ユーザはその理由を認識した上で、電子メールを再編集し、破棄された原因を解消した上で再送信を行うと考えられるため、当該再編集を支援するために、破棄に至った理由をユーザに提示できると利便性がさらに向上する。
【００１６】
なお、前記ポリシー判定部に、ユーザからの入力を受け付けるための表示を行う表示手段を備えさせ、当該表示手段に、前記プロキシーサーバ機能部から通知された電子メールが前記ポリシーデータに定められた条件に合致する場合に前記表示手段による表示を行わせるとともに、前記情報通知手段に、当該表示手段によって受け付けたユーザからの入力に応じた情報を前記判定情報に含めさせるようにしても構わない（請求項５）。
【００１７】
前記ポリシー判定部が機械的にポリシーに合致するかどうかに基づいて電子メールを送信するかどうか決めるということだけではなく、ユーザに注意喚起してユーザに最終的な判断を委ねる仕組みも取り入れた方が、柔軟性が高まり利便性が向上するためである。
【００１８】
なお、この電子メール送信制御プログラムを用いて実現されるコンピュータ装置の動作方法（請求項６）やコンピュータ装置自体も大変有用である（請求項７）。
【発明の効果】
【００１９】
以上のように、本発明によれば、ネットワーク構成やメール送信用ソフトウェアに依存しない電子メールの誤送信防止機能を、容易に実現することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係るコンピュータ装置のハードウェア構成の概要を示す模式図である。
【図２】本発明に係るコンピュータ装置に搭載されたプログラムの関係を示す模式図である。
【図３】本発明の各プログラム等の動作シーケンスの概要を示す模式図である。
【図４】ＳＭＴＰの通信手順を示す模式図である。
【図５】本発明による電子メール送信制御方法において使用されるＩＰアドレスやポート番号の一例を示す図である。
【図６】本発明による電子メール送信制御方法において使用されるＩＰアドレスやポート番号の一例を示す図である。
【発明を実施するための形態】
【００２１】
（第１の実施形態）
以下、本発明の第１の実施形態を、図面を参照しながら詳細に説明する。
図１は、メールの作成と送信を行うコンピュータ装置１（クライアント）のハードウェア構成を示す模式図である。
【００２２】
〔構成の概要〕
ＣＰＵ１０１は、コンピュータ装置１の備える機能を実現するためのコンピュータプログラムをハードディスク１１２から読み出してメモリ１１１にコピーして実行する機能を備えている。
本発明で実行される前記コンピュータプログラムとしては、コンピュータ装置１のオペレーティングシステム（以下、ＯＳという。）のプログラム、電子メール送信プログラムＭ（以下、メーラという。）、及び電子メール送信制御プログラムが挙げられる。
この場合、前記電子メール送信制御プログラムは、ネットワークドライバ部Ｎ、プロキシーサーバ機能部Ｓ、及び、ポリシー判定部Ｐを含む構成となっている。
ＯＳや電子メール送信制御プログラムは、コンピュータ装置１の電源がオンされた時点で自動的にハードディスク１１２から読み出されてメモリ１１１にコピーされ、常時実行可能な状態となるが、電子メール送信プログラムは、通常ユーザがメールの作成や送受信を行うタイミングで随時ハードディスク１１２から読み出されてメモリ１１１にコピーされて実行される。
【００２３】
なお、ＯＳには、電子メールを送受信するために必要なＴＣＰ／ＩＰ通信を実行するためのＴＣＰ／ＩＰ通信ライブラリが含まれており、予め用意されたＡＰＩ関数を用いてＩＰデータパケットの送受信を行うことができるようになっている。このＡＰＩ関数は、前記ＴＣＰ／ＩＰ通信ライブラリとアプリケーションプログラムとの間のデータの受け渡しを行うために使用されるものである。
そして、このＴＣＰ／ＩＰ通信ライブラリによって、コンピュータ装置１から外部に送信すべきＩＰデータパケットを通信インタフェース１２１を介して他のコンピュータ装置（例えば電子メールサーバ２）に送信したり、他のコンピュータ装置からのＩＰデータパケットを通信インタフェース１２１を介して受信したりする機能が実現される。
【００２４】
なお、図１ではコンピュータ装置１のＣＰＵが１つだけの例を示しているが、複数のＣＰＵによって構成されていても良いし、実現すべき機能のうちの一部については、その機能を実行可能な専用チップ（ＩＣ等）を備えるハードウェア構成としても良い。
【００２５】
〔プログラムの動作〕
次に、図２と図３を用いて、本発明にかかる電子メール送信制御プログラムの動作を詳細に説明する。なお、使用されるＩＰアドレスやポート番号等に着目してそれらを図示したものが図５および図６になる。
実施形態に登場する各種プログラムはコンピュータ装置１に対する命令を組み合わせたものであるから、プログラムによって実現される動作や機能の主体はあくまでもコンピュータ装置１であるが、発明内容を把握しやすくするために、以下では各種プログラムを動作の主体として記載する。
【００２６】
〔メーラＭの設定〕
ユーザが使用するメーラＭには電子メールの作成と送受信をする機能が備えられており、ユーザはメーラＭを使用して作成した電子メールを送信することができる。
通常、メーラＭは、使用する電子メールサーバのＩＰアドレスとポート番号を設定しなければ動作しない仕組みになっているので、メーラＭには電子メールサーバ２のＩＰアドレスとポート番号が設定されている。
本発明では、このコンピュータ装置１に電子メール送信制御プログラムがインストールされているかどうかに関係なく、メーラＭには常に電子メールサーバ２のＩＰアドレスＡ２とポート番号Ｎ２が設定されていれば良く、電子メール送信制御プログラムがインストールされている場合にもこの設定を変更する必要はない。
【００２７】
通常、企業などの社員が社内ＬＡＮに接続されたコンピュータ装置を使って電子メールの送受信を行う場合、ほとんど全ての社員は当該企業の情報システム部門が準備する同一の電子メールサーバを用いてメールの送受信を実施するため、全員が同じ設定を行えば済むことが多い。
本発明では、電子メール送信制御プログラムがインストールされているかどうかに関係なく電子メールサーバ２のＩＰアドレスＡ２とポート番号Ｎ２を設定すれば良い（電子メール送信制御プログラムがインストール／アンインストールされる前後で設定を変更しなくても良い）という点で導入が容易である、というのがメリットの１つである。
【００２８】
もし、電子メール送信制御プログラムがインストール／アンインストールされる前後でメーラＭの設定を変更しなければいけない仕組みとすると、社員それぞれに対して設定方法を教授する手間が発生するという不便さがあり、特に、社員の使用するコンピュータ装置毎に異なる設定をしなければいけない場合には、設定方法を教授する手間も大きくなってしまう。また、設定変更を忘れたり変更ミスをしたりする不慣れな社員が多い場合には、個々の社員に対して個別にサポートを行う必要性が生じるという問題もあるが、本発明では、そういった手間はほとんど発生しない。
【００２９】
〔ＳＭＴＰの基本手順を用いた電子メールの送信処理の概要〕
コンピュータ装置１のＯＳに含まれるＴＣＰ／ＩＰ通信ライブラリ（以下、通信ライブラリという。）Ｔを使用するために用意されるＡＰＩ関数には、例えば、メーラＭによってメールの送信処理が実行される際に送信されるべきＩＰデータパケットの送信先やデータ内容等を引数としてコールされる送信関数や、特定のポート番号に対応付けて生成されるＴＣＰのソケット等の識別子を引数として当該ポート番号宛に送信されたＩＰデータパケットを受信するためにコールされる受信関数等がある。
メーラＭは、電子メールの送信処理を実行する場合、電子メールの送信先のメールアドレスやメール本文の文字列等を格納したテキストデータへのポインタや送信先のＩＰアドレス等を引数として送信関数をコールすることで、電子メールを送信することができる。
【００３０】
なお、電子メールの送受信を行う場合、通常ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）というプロトコルを使用することが多い。このＳＭＴＰでは、電子メールサーバと電子メール送受信用のクライアント装置との間で所定の通信手順に従ってやりとりが行われる。この通信手順を、図４を用いて説明する。
なお、このＳＭＴＰの通信手順はＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔ）で標準仕様が定められており、以下はそのＲＦＣで定められた手順と同じである。
まず、電子メールサーバとクライアント装置との間でＴＣＰの通信コネクションが確立される。この場合、電子メールサーバのポート番号は通常２５番が使用される。そして、以降のやりとりは、このＴＣＰ通信コネクション上で、ＩＰデータパケット形式のデータを交換することで行われる。
【００３１】
ＴＣＰ通信コネクションが正常に確立されたら、まず、クライアント装置は、自身のドメイン名を格納したＥＨＬＯコマンドを送信する。電子メールサーバはこれに応じて応答信号を返信する。
クライアント装置は、ＥＨＬＯコマンドに対する応答信号を受けたら、電子メールの送信元メールアドレス（通常はユーザのメールアドレス）を格納したＭＡＩＬコマンドと宛先メールアドレスを格納したＲＣＰＴコマンドとをそれぞれ送信する。
そして、これらについて応答信号を受信できたら、ＤＡＴＡコマンドを送信してメール本文の送信を開始する。メール本文のデータはメールの長さに応じて複数のＩＰデータパケットに分割して送信することができる。メール本文のデータを全て送り終えたら、終了を示すコード（ピリオド）を送信した後、ＱＵＩＴコマンドで通信を完了させる。
なお、電子メールの送信が終わったらその時点でＴＣＰ通信コネクションを切断する。
【００３２】
〔電子メール送信制御プログラムの動作の概要〕
まず、ユーザがメーラＭを操作して電子メールを作成し、送信処理を開始すると（メーラＭの送信ボタンの押下等を行うと）、メーラＭは電子メールサーバ２との間にＴＣＰ通信コネクションを確立しようとする。
そして、ＴＣＰ通信コネクションが確立されたら、メーラＭは、前述のＳＭＴＰの手順に沿って、電子メールの送信処理を開始することになる（図３のＳｔｅｐ２）。
このメーラＭによるＴＣＰ通信コネクションの確立や電子メールの送信処理について、ＯＳが実行する処理を中断させた上で、後述する「横取り」を行うのがネットワークドライバ部Ｎである。
【００３３】
ネットワークドライバ部Ｎは、コンピュータ装置１においてＩＰデータパケットの送信処理が実行されると、この処理をフックする機能を備えている（図３のＳｔｅｐ１）。このフック機能は、何らかのアプリケーションプログラムがＯＳに対してＩＰデータパケットの送信を要求する処理を実行（送信関数をコール）した場合、その送信処理を中断すると共にＩＰデータパケットをネットワークドライバ部に引き渡す、というものである。このフック機能により、ネットワークドライバ部Ｎは、実際に送信処理が実行される前にＩＰデータパケットを「横取り」することができるようになる（図３のＳｔｅｐ３）。
メーラＭによって電子メールの送信処理が実行されると、ＯＳの通信ライブラリＴの送信関数がコールされるが、この電子メールもネットワークドライバ部Ｎによって横取りされることになる。
なお、このフック機能による横取りを可能な状態にするには、通常、コンピュータ装置１の起動後、電子メール送信制御プログラムの実行が開始された直後に一度フック機能を有効化するコマンドを実行しておけば、それ以降、送信関数がコールされるたびにネットワークドライバ部Ｎが「横取り」をすることが可能となる。
【００３４】
ネットワークドライバ部Ｎは、横取りしたＩＰデータパケットが、電子メールのデータやコマンド及びその応答信号以外の電子メールとは無関係のものであれば、そのＩＰデータパケットに対して何らの加工処理等を施すことなく、そのまま送信を許可する。
一方、横取りしたＩＰデータパケットが、電子メールに関するものであれば、そのＩＰデータパケットの宛先のＩＰアドレスＡ２（図５では「１０．１．１．１」）をコンピュータ装置１自身のＩＰアドレスＡ１（図５では「１０．０．０．１」）に書き換えると共に、宛先のポート番号Ｎ２（図５では「２５」）を、後述するプロキシーサーバ機能部（以下、プロキシーという。）Ｓの使用するポート番号Ｎ１（プロキシーＳがメーラＭから送信されてネットワークドライバ部Ｎによって転送されてくるＩＰデータパケットを受信するために使用するポート番号で、図５では「１０２１」）に設定する。なお、プロキシーＳと電子メールサーバ２が同一の番号を使用している場合には、ポート番号の書き換えは行わなくても構わない。
そして、前記書き換えた内容でＩＰデータパケットを送信するように通信ライブラリＴに指示する。以下、宛先のＩＰアドレス等を書き換えた上で通信ライブラリＴが電子メールを送信する処理のことを「転送」と呼ぶことにする（図３のＳｔｅｐ４）。
【００３５】
なお、前記横取りしたＩＰデータパケットが電子メールに関するものかどうかは、当該ＩＰデータパケットの送信先又は送信元のポート番号がＳＭＴＰプロトコルで通常使用されるポート番号（通常は２５番）であるかどうかで判断すると良い。ただし、この場合、２５番以外のポート番号（例えば２５２５番）をＳＭＴＰプロトコル用に使用することが分かっているのであれば、当該２５番以外の番号を送信先ポート番号とするＩＰデータパケットを電子メールに関するものと判断しても良い。また、複数のポート番号のいずれか（例えば２５番と２５２５番）を送信先ポート番号とするＩＰデータパケットを電子メールに関するものと判断することもできる。
また、ポート番号以外のＩＰデータパケットの形式等から電子メールに関するものであるかどうかを判断するようにしても良い。前述のＳＭＴＰに従ってやり取りされるコマンドが有するデータ形式は予め標準化された固定的な形式であるから、コマンドのデータ形式を記憶しておいて、取得されたＩＰデータパケットの形式が当該記憶してある形式と一致するかどうかを比較して一致すれば電子メールに関するものである、と判断するようにしても構わない。
【００３６】
プロキシーＳは、ネットワークドライバ部Ｎに指示されて通信ライブラリＴが転送するＩＰデータパケットを受信する（図３のＳｔｅｐ５）。この場合、そのＩＰデータパケットには電子メールに関するデータやコマンドが含まれているので、図４に示すＳＭＴＰの通信手順に従って逐次応答信号の送信処理を実行する（図３のＳｔｅｐ６）。
このプロキシーＳによる応答信号の送信処理も、メーラＭによる電子メールの送信処理と同様に、ＯＳの通信ライブラリＴの送信関数をコールすることで実行されるが、ネットワークドライバ部Ｎは、この応答信号の送信処理についても横取りを行う（図３のＳｔｅｐ７）。
この場合、応答信号の送信元のＩＰアドレスは、コンピュータ装置自体のＩＰアドレスＡ１、ポート番号はプロキシーＳの使用するポート番号Ｎ１となっている。プロキシーＳが送信処理を実行したためである。
そこで、ネットワークドライバ部Ｎは、このＩＰアドレスＡ１とポート番号Ｎ１を電子メールサーバ２のＩＰアドレスＡ２及びポート番号Ｎ２（通常は２５番）に書き換えて転送するように通信ライブラリＴに通知し（図３のＳｔｅｐ８）、この通知を受けた通信ライブラリＴが応答信号をメーラＭ宛に送信する（図３のＳｔｅｐ９）。
【００３７】
この転送された応答信号は、メーラＭによって受信されるが、メーラＭは自己が電子メールの送信処理を実行した際の宛先のＩＰアドレスＡ２とポート番号Ｎ２（電子メールサーバ２のＩＰアドレスとポート番号）と同じＩＰアドレスとポート番号からの応答信号として受信することができる。このため、メーラＭは、あたかも電子メールサーバ２に対して電子メールを送信し、その応答信号を受信できたかのように認識することになる。
このように、ネットワークドライバ部ＮがメーラＭの送受信する電子メールに関連するＩＰデータパケットを横取りして転送することで、メーラＭに対する特別な機能の追加や設定の変更を行わなくても、メーラＭの動作にエラーが発生することはない。
つまり、メーラＭは、本発明の電子メール送信制御プログラムの有無に関係なく動作できることになる。
また、ネットワークドライバ部Ｎは、コンピュータ装置１から送出されようとする全てのＩＰデータパケットを対象として電子メールの横取りを行うため、メーラＭの種類を問わず確実に電子メールを捕捉することが可能となる。
【００３８】
この一連の動作で使用されるＩＰアドレスやポート番号の一例を示したのが図５である。
【００３９】
一方、ネットワークドライバ部Ｎによって転送された電子メールを受信したプロキシーＳは、その電子メールをポリシー判定部Ｐに通知する。このポリシー判定部Ｐは、いわゆるエージェントとして機能するプログラムであり、予めハードディスク１１２に記憶したポリシーデータＰＤ（ポリシーデータを記憶するネットワーク上のサーバ装置等から取得しても良い）を参照して、その電子メールについて判定を実施する。
例えば、特定のメールアドレスへの電子メールの送信を禁じる旨のポリシーが定義されている場合に、送信先メールアドレスが禁止されているメールアドレスであるかどうかを判定したり、添付ファイルが暗号化されていない電子メールの送信を禁じる旨のポリシーが定義されている場合に、添付ファイルの暗号化がされているかどうかを判定したりする。
【００４０】
このポリシーデータＰＤには複数のポリシーを定義することができ、例えば、添付ファイルを禁じるポリシーＡ、特定の相手に対する送信を禁じるポリシーＢおよびメール本文に特定の文字（例えば「秘密」）を含む電子メールの送信を禁じるポリシーＣの３つを定義することができる。
このように複数のポリシーが含まれている場合、ポリシー判定部Ｐは、各ポリシーに合致するか否かをそれぞれ判定し、その結果をプロキシーＳに通知する。
【００４１】
このポリシー判定部Ｐによる判定結果は、当該電子メールの送信の「許可」か「破棄」か、という二者択一であっても良いし、ユーザに送信するかどうかの判断を委ねる「ユーザ判断待ち」を加えた三者択一としても良い。また、「許可」と「ユーザ判断待ち」の二者択一とすることもできる。
ポリシー判定部Ｐの判定結果が「許可」であれば、その判定結果を含む判定情報を通知されたプロキシーＳは、電子メールの内容を加工等することなく、電子メールサーバ２宛にそのまま送出し、判定結果が「破棄」であれば、電子メールをそのまま破棄する（図３のＳｔｅｐ１１）。
なお、判定結果が「ユーザ判断待ち」となった場合には、ユーザ判定入出力部Ｕに対して、ユーザへの問いかけを行うＧＵＩの呼び出しを要求する。具体的には、ＧＵＩにおいて、ユーザに対し、「このメールはポリシー判定の結果、送信を許可されていないメールアドレスに対して送信しようとしています。このまま送信しますか？」といった内容の画面表示を行うと共に、判断結果の入力手段（「はい」、「いいえ」のボタン表示等）を表示する。
そして、このユーザの判断の結果を受けて、ポリシー判定部ＰはプロキシーＳに対して判定情報を通知する（ポリシー判定部Ｐに関連する処理は図３のＳｔｅｐ１０）。
【００４２】
プロキシーＳが電子メールをそのまま電子メールサーバ２に送信することに決定した場合、プロキシーＳが電子メールの送信処理を実行すると（図３のＳｔｅｐ１２−１）、通信ライブラリＴの送信関数がコールされるため、他の場合と同様にネットワークドライバ部Ｎが当該電子メールを横取りすることになる（図３のＳｔｅｐ１２−２）。
ただし、この場合、ネットワークドライバ部Ｎは、横取りしたＩＰデータパケットの送信元のＩＰアドレスとポート番号の組み合わせが、プロキシーＳが前記送信処理を行った際に使用したＩＰアドレスＡ１（図６では「１０．０．０．１」）とポート番号Ｎ３（プロキシーＳが電子メールサーバ２とＩＰデータパケットを送受信するために使用するポート番号で、図６では「９０００」）と一致すれば、何らの処理も行わずに（データの書き換えを行わずに）そのまま送信を許可する（スルーして送信する）（図３のＳｔｅｐ１２−３）。そして、通信ライブラリＴはこの電子メールを送信する（図３のＳｔｅｐ１２−４）。
ネットワークドライバ部Ｎがこの電子メールを横取りしてプロキシーＳ宛に転送してしまうと、いわゆるループバックの格好になって、電子メールサーバ２に対して電子メールを送ることができなくなるためである（Ｓｔｅｐ１２はＳｔｅｐ１１で電子メールを破棄しないと判定した場合の一連の処理）。
【００４３】
なお、ネットワークドライバ部Ｎが横取りした電子メールが、プロキシーＳが電子メールサーバ２宛に送ったものか、メーラＭが電子メールサーバ２宛に送ったものか、を区別するには、上記のようにプロキシーＳが送信処理を行ったときに使用した送信ポート番号Ｎ３をプロキシーＳから予め通知してもらっておき、横取りした電子メールの送信元ポート番号がプロキシーＳの送信元ポート番号Ｎ３と一致すればプロキシーＳが送信元で、そうでなければメーラＭが送信元である、と認識すれば良い。
【００４４】
この一連の動作で使用されるＩＰアドレスやポート番号の一例を示したのが図６である。
【００４５】
なおここでは、ポリシー判定部Ｐにおいて電子メールの送信を許可するか破棄するかまで判定してからその判定結果をプロキシーＳに通知するようにしているが、ポリシー判定部Ｐは通知された電子メールがポリシーに合致するものか否かについての判定結果のみを通知し、その判定の結果を受け取ったプロキシーＳの側で電子メールの送信を許可するか破棄するかを決定する、ということにしても構わない。
例えば、ポリシーデータにポリシーＡ、ポリシーＢおよびポリシーＣの３つのポリシーが含まれている場合に、ポリシー判定部Ｐの方では、各ポリシーに合致するか否かの結果のみをプロキシーＳに通知し、プロキシーＳがその３つのポリシーの各々に合致するかどうかの結果を総合的に判断した上で電子メールの送信を許可するかどうかを決定する、という実施形態でも構わない。
例えば、プロキシーＳの方で、２つ以上のポリシーに合致している場合にのみ電子メールを破棄するという決定をするようにしている場合、ポリシー判定部ＰからポリシーＡには合致しないがポリシーＢおよびポリシーＣには合致するという判定結果を受けた場合には、２つ以上のポリシーに合致するため、プロキシーＳは電子メールを破棄するという決定を行い、ポリシー判定部ＰからポリシーＡとポリシーＢには合致しないがポリシーＣには合致するという判定結果を受けた場合には、１つのポリシーにしか合致しないため、プロキシーＳは電子メールの送信を許可するという決定を行う、といった方法でも構わない。
また、処理時間の短縮のために複数のポリシーに優先度を設けておき、優先度の高いポリシー（例えばポリシーＡ）から順番にそのポリシーに合致しているかどうかを判定していって、優先度の高いポリシーに合致していると判断されればその時点で判定を打ち切って（その他の優先度の低いポリシーについての判定を行わずに）、優先度の高いポリシーに合致しているという判定結果のみをプロキシーＳに通知するといった方法を用いても構わない。
【００４６】
つまり、ポリシー判定部Ｐは、プロキシーＳが電子メールの送信を許可するか破棄するかを決定しうる情報である判定情報をプロキシーＳに対して送信すれば良いのであり、必ずしもポリシー判定部Ｐで電子メールの送信を許可するかどうかまで判定しなくても構わない。
【００４７】
このように、プロキシーＳは、ポリシー判定部Ｐによる判定結果に応じて、電子メールを破棄するか送信するかを決定するが、電子メールを送信する場合には、ユーザに特段の通知を行う必要はない。ユーザはメーラＭにおいて電子メールの送信処理を実行し、その処理がエラーなく完了したことを見届ければそれで足りるからである。
一方、プロキシーＳが電子メールを破棄した場合には、そのことを何らかの形でユーザに通知することが望ましい。なぜならば、ユーザはメーラＭで電子メールの送信処理を実行し、エラーなく完了したことを見届けているため、電子メールを確かに送信したつもりになっているからである。
【００４８】
そこで、プロキシーＳは、ポリシー判定部Ｐから通知された判定結果に応じて電子メールを破棄した場合、当該電子メールを破棄した旨の破棄通知用電子メールを新たに作成すると良い。破棄通知用電子メールの宛先電子メールアドレスはユーザの使用する電子メールアドレス（破棄した電子メールの送信元メールアドレス）である。プロキシーＳは、この破棄通知用電子メールを電子メールサーバ２宛に送信することが望ましい（図３のＳｔｅｐ１３−１）。
この場合にも、応答信号などと同様に、ネットワークドライバ部Ｎが当該破棄通知用電子メールを横取りするが（図３のＳｔｅｐ１３−２）、この破棄通知用電子メールは、送信元のＩＰアドレスとポート番号がプロキシーＳのＩＰアドレスＡ１とポート番号Ｎ３であるので、スルーしてそのまま送信される（図３のＳｔｅｐ１３−３および４）。
このようにすることで、メーラＭは、電子メールサーバ２から当該破棄通知用電子メールを受信することができる（Ｓｔｅｐ１３はＳｔｅｐ１１で電子メールを破棄すると判定した場合の一連の処理）。
【００４９】
なお、この破棄通知用電子メールの本文には、破棄された電子メールのメール本文の内容を引用しておくことが望ましい。ユーザに対して、破棄された対象がどの電子メールであったかを知らせるためである。
また、破棄した理由についても、本文に記載しておくことが望ましい。ユーザが電子メールを再編集して送信等する際に、その破棄の理由等を参照できれば、その理由を解消した上で再送信することができるためである。
さらに、破棄通知用電子メールのヘッダの領域（例えば、「Ｉｎ−Ｒｅｐｌｙ−Ｔｏ」や「Ｒｅｆｅｒｅｎｃｅｓ」の領域）に、破棄した電子メールのヘッダの領域に格納されていた「Ｍｅｓｓａｇｅ−Ｉｄ」の値を転記しておくようにしても良い。このようにすれば、メーラＭを操作して送受信済みの電子メールを並べ替え処理等した場合に、破棄された送信済み電子メールと破棄通知用電子メールとが連続した位置関係になるので、ユーザが容易に確認可能となり至便である。
【００５０】
〔比較例との対比〕
なお、本発明のようにプロキシーサーバ機能部Ｓをクライアント装置側に持たせる方法ではなく、ネットワークドライバ部Ｎで取得した電子メールがポリシーに合致するかどうかを判断させて、合致しなければそのまま電子メールサーバ装置に送信し、合致していれば破棄するか若しくはユーザに対して送信するかどうか判定させる、という方法も考えられる。つまり、クライアント装置側にプロキシーサーバ機能部Ｓを設けない方法である。
しかしながら、このような方法を採用すると、もし電子メールの送信可否の判断をユーザに委ねたい場合、電子メール送信プログラムと電子メールサーバ装置との間の通信手順を途中でストップさせてユーザに判断をさせなければならないため、例えばユーザが判断に迷っている間に、ＳＭＴＰの通信手順やＴＣＰ／ＩＰ通信のレイヤにおいて送信タイムアウトといったエラーが起こる可能性がある。
つまり、電子メールの送信を行うべきかどうかを短時間でユーザに判断させなければうまく動作しないといった不利な点が存在することになる。
また、電子メール送信プログラムや電子メールサーバ装置との間の通信を強制的に中断させると、多数のクライアント装置との通信を行っている電子メールサーバ装置に対して大きな負荷をかけることになってしまう。
このように、電子メール送信プログラムや電子メールサーバ装置の動作に影響を与えるような仕組みはあまり望ましくない。
その点、本発明では、クライアント装置側にプロキシーサーバ機能部Ｓを設けているため、メーラＭの実行した電子メールの送信処理自体にはエラーが発生しないように、通信処理を短時間で自動的に完了させることができる。
【００５１】
なお、本発明の変形例として、ネットワークドライバ部Ｎが横取りして転送した電子メールを受信したプロキシーサーバ機能部Ｓが、電子メール送信プログラムに対して応答信号を送信する前にユーザに対して電子メールの送信を行うべきかどうかを判断させる、という方法も考えられる。
この方法では上記比較例と同様にユーザに短時間で判断させなければいけないというデメリットは存在するが（メーラＭの通信を途中で中断するため）、クライアント装置側にプロキシーサーバ機能部Ｓを設けてあるので、電子メールサーバ２の通信を中断することがなく、電子メールサーバ２に負荷をかけないようにすることが可能になる。
【００５２】
〔他の比較例との対比〕
なお、プロキシーサーバ機能部Ｓをクライアント装置側に設ける場合に、本発明のようなネットワークドライバ部Ｎを設けずに、電子メール送信プログラムにおいて指定するメールサーバのＩＰアドレスをプロキシーサーバ機能部ＳのＩＰアドレス（クライアント装置自体のアドレス）に設定して動作させる、といった方法も考えられる。
つまり、メーラＭと電子メールサーバ２との間に電子メールを中継するためにプロキシーサーバ機能部Ｓを設け、メーラＭが直接電子メールを送信する相手先のサーバを同一のクライアント装置で動作しているプロキシーサーバ機能部Ｓにする、という方法である。
しかし、この方法の場合、電子メール送信制御プログラムのインストールと共に、電子メール送信プログラムの設定変更も実施しなければいけないという点で手間がかかってしまう。
特に、１台のクライアント装置に複数のユーザが複数種類の電子メール送信プログラムをインストールして動作させている場合には、電子メール送信プログラム毎に設定変更を行う必要が生じ、発生する手間も大きくなってしまう。
また、電子メール送信制御プログラムをアンインストールした場合には、電子メール送信プログラムの設定を再び変更し、指定するメールサーバのＩＰアドレスを電子メールサーバ２のＩＰアドレスに再設定しなければ電子メールの送信ができなくなってしまうという問題があり、電子メール送信制御プログラム以外のプログラムの設定等に影響を与えることになってしまう。
その点、本発明では、クライアント装置内にプロキシーサーバ機能部Ｓと共にネットワークドライバ部Ｎを設けたことで、メーラＭの設定を変更することなくメールの誤送信防止機能を実現することができるようになる。
【００５３】
このように本発明の技術的効果は、メーラが動作するコンピュータ装置と同じコンピュータ装置内にプロキシーサーバ機能部Ｓと共にネットワークドライバ部Ｎを同時に備えることで初めて実現されるのであり、一方のみを備える場合に発生する問題点を全て解決することができるという点で、特有で顕著なものである。
【００５４】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００５５】
１  コンピュータ装置、  １０１  ＣＰＵ、  １１１  メモリ、  １１２  ハードディスク、  １２１  通信インタフェース、  ２電子メールサーバ
Ｍ  電子メール送信プログラム、  Ｎ  ネットワークドライバ部、  Ｓ  プロキシーサーバ機能部、  Ｐ  ポリシー判定部、  ＰＤ  ポリシーデータ、  Ｕ  ユーザ判定入出力部、  Ｔ  ＴＣＰ／ＩＰ通信ライブラリ
【図１】
2011159244.tif 000003
【図２】
2011159244.tif 000004
【図３】
2011159244.tif 000005
【図４】
2011159244.tif 000006
【図５】
2011159244.tif 000007
【図６】
2011159244.tif 000008