- - PR -
自PCから送信したメール本文、送付ファイルのログ作成
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-04-05 11:18
いつもお世話になっております。
<開発環境> ASP.NET 2003 WINDOWS 2000 件名に記した通りの事をやろうとしているのですが、.NETでの参考URLなど ありましたら、教えていただけませんか。 次いで送信先アドレスもログとして吐き出したいです。 私自身もいろいろ調べたのですが、参考になるようなものが載っていませんでした。 まず、私が調べた事を記させていただきます。 @送信ファイルを監視して、その情報を取得する方法。→メーラーによりフォルダの場所が違うのでボツです。 AMAPIとOUTLOOKのVBAを使用して取得する方法。→OUTLOOKでしか使用できないのでこれも使えませんでした。(MAPIは詳しくありませんので使えるかどうか調べています) 上記のような事しか調べられなかったのですが、制限事項もあるので苦戦しています。 制限事項というのは、 @どのようなメーラーでも対応できること Aリアルタイムでのログ作成 です。 ただ、Eメールの通信プロトコルはSMTP限定でも構いません。 .NETで上記のような事ができるまた、参照DLLなどありましたら教えてください。 | ||||
|
投稿日時: 2005-04-05 12:35
具体的な方法はともかく、思いつく方法としては、
・25/tcp を listen する ・受け取った内容を(加工して)ログに書く ・本来のSMTPサーバに受け取ったデータを渡す が簡単なのではないかと思います。 | ||||
|
投稿日時: 2005-04-05 14:15
私もにしざきさんとかぶるかもしれませんが、一番簡単そうなのは、
・SMTPサーバーによりますが、STMPのインバウンドorアウトバウンド処理にて指定のプログラムをキックし、そのプログラムがログをDBなり、ファイルなりに登録する。 でしょうか…。 要件にもよりますが、社内みんなが送ったメールを監視したいのであれば、メールサーバーに仕掛けを持たせた方が楽なような気がします。 | ||||
|
投稿日時: 2005-04-05 14:28
質問を読む限りクライアントで実現したいのかな。
ユーザーに意識させずにと言うことなら、RAWソケットを開いてTCP/25の通信を解析するとか?あるいは25番にとらわれずにSMTPっぽい通信をすべて監視するとか。 #.NETでRAWソケットが使えたかは知らない。 | ||||
|
投稿日時: 2005-04-05 15:05
にしざき様、Gun様、甕星様
ご返答ありがとうございます。 にしざき様、2005-04-05 12:35より------------------------------------------ 具体的な方法はともかく、思いつく方法としては、 ・25/tcp を listen する ・受け取った内容を(加工して)ログに書く ・本来のSMTPサーバに受け取ったデータを渡す が簡単なのではないかと思います。 ----------------------------------------------------------------------------- Gun様、2005-04-05 14:15より---------------------------------------------- ・SMTPサーバーによりますが、STMPのインバウンドorアウトバウンド処理にて指定のプ ログラムをキックし、そのプログラムがログをDBなり、ファイルなりに登録する。 ----------------------------------------------------------------------------- 甕星様、2005-04-05 14:28より---------------------------------------------- ユーザーに意識させずにと言うことなら、RAWソケットを開いてTCP/25の通信を解析するとか?あるいは25番にとらわれずにSMTPっぽい通信をすべて監視するとか。 ----------------------------------------------------------------------------- お三人様のアドバイス通り、送信サーバーのポートを監視する方法を実行しようと思います。 また、.Netでできるかどうかも試してみようと思います。 結果は、少し時間がかかるかもしれませんが、こちらの方に書き込みます。 ありがとうございました。 | ||||
|
投稿日時: 2005-04-05 21:59
これで、Client側の制御でMailを監視しようとしているのがよくわかりません。 OutlookのVBAってどういうことでしょう?状況がつかめません。 要件は、 1. Clientが送信したMailを接続先Mail Serverにかかわらず取得? この場合、Clientで実行するのかGatewayで集めるのか? 2. 特定のMail Serverを使用していてそのServerに送信されるものを取得? どっちなのでしょうか? ちなみに2の構成(Windows 2000, Exchange 2000)であれば、 SMTP EventSinkというものを使って、実装した経験はあります。 | ||||
1
