- PR -

自PCから送信したメール本文、送付ファイルのログ作成

1
投稿者投稿内容
パクジン
ベテラン
会議室デビュー日: 2004/08/19
投稿数: 50
投稿日時: 2005-04-05 11:18
いつもお世話になっております。

<開発環境>
ASP.NET 2003
WINDOWS 2000

件名に記した通りの事をやろうとしているのですが、.NETでの参考URLなど
ありましたら、教えていただけませんか。
次いで送信先アドレスもログとして吐き出したいです。

私自身もいろいろ調べたのですが、参考になるようなものが載っていませんでした。
まず、私が調べた事を記させていただきます。

@送信ファイルを監視して、その情報を取得する方法。→メーラーによりフォルダの場所が違うのでボツです。

AMAPIとOUTLOOKのVBAを使用して取得する方法。→OUTLOOKでしか使用できないのでこれも使えませんでした。(MAPIは詳しくありませんので使えるかどうか調べています)

上記のような事しか調べられなかったのですが、制限事項もあるので苦戦しています。
制限事項というのは、
@どのようなメーラーでも対応できること
Aリアルタイムでのログ作成
です。
ただ、Eメールの通信プロトコルはSMTP限定でも構いません。

.NETで上記のような事ができるまた、参照DLLなどありましたら教えてください。


にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-04-05 12:35
具体的な方法はともかく、思いつく方法としては、
・25/tcp を listen する
・受け取った内容を(加工して)ログに書く
・本来のSMTPサーバに受け取ったデータを渡す
が簡単なのではないかと思います。
Gun
常連さん
会議室デビュー日: 2005/01/24
投稿数: 23
投稿日時: 2005-04-05 14:15
私もにしざきさんとかぶるかもしれませんが、一番簡単そうなのは、
・SMTPサーバーによりますが、STMPのインバウンドorアウトバウンド処理にて指定のプログラムをキックし、そのプログラムがログをDBなり、ファイルなりに登録する。

でしょうか…。
要件にもよりますが、社内みんなが送ったメールを監視したいのであれば、メールサーバーに仕掛けを持たせた方が楽なような気がします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-04-05 14:28
質問を読む限りクライアントで実現したいのかな。

ユーザーに意識させずにと言うことなら、RAWソケットを開いてTCP/25の通信を解析するとか?あるいは25番にとらわれずにSMTPっぽい通信をすべて監視するとか。

#.NETでRAWソケットが使えたかは知らない。
パクジン
ベテラン
会議室デビュー日: 2004/08/19
投稿数: 50
投稿日時: 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でできるかどうかも試してみようと思います。
結果は、少し時間がかかるかもしれませんが、こちらの方に書き込みます。
ありがとうございました。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-04-05 21:59
引用:
<開発環境>
ASP.NET 2003
WINDOWS 2000



これで、Client側の制御でMailを監視しようとしているのがよくわかりません。
OutlookのVBAってどういうことでしょう?状況がつかめません。

要件は、
1. Clientが送信したMailを接続先Mail Serverにかかわらず取得?
この場合、Clientで実行するのかGatewayで集めるのか?

2. 特定のMail Serverを使用していてそのServerに送信されるものを取得?

どっちなのでしょうか?

ちなみに2の構成(Windows 2000, Exchange 2000)であれば、
SMTP EventSinkというものを使って、実装した経験はあります。
1

スキルアップ/キャリアアップ(JOB@IT)