y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

メール受信&DB登録(ASP+BASP21)編

ひとり文書・図面管理システム開発プロジェクトをこつこつと進めている。
ここ2-3日の成果は”メール受信&DB登録”
ASPでメール”と言えばBASP21ということで、さっさと利用してしまう。一度に256通までの取り出ししか出来ないが、添付ファイルを抽出したり原文ファイルを保存したり簡単にできちゃう。
拡張ヘッダの読み取りや、複数値を持つヘッダフィールドの抽出、添付ファイルの扱いなどで細かな調整が必要であるものの、受信メールしたメールを文書タイプ”受信メール”としてDB登録することに成功。原文ファイルは.emlの拡張子を付けて、メーラ(OutlookExpress)でダウンロードできるようにした。RcvMail.vbsをWindowsのタスクマネージャでキック。10分おきで設定済みPOPアカウントを巡回受信するようにした。
POPアカウントの設定画面では、記載したPOPアカウントが正常に稼動するかどうかのテスト機能も付けたので、設定しながら動作確認を取れる。
(同じく、SMTPサーバ設定の画面も作成し、テストコマンドを付けた。こちらの方はテストメールを送信する。後にメール送信機能も追加予定なのだ)

POPアカウントを保存すると同時に、文書管理システムのフォルダを登録し、受信メールが保存されるフォルダとして連動動作する。POPアカウント情報の追加・変更は、10分おきの巡回受信時に反映される。
POPサーバIPアドレス+"_"+POPアカウント名称の実ディレクトリには、受信したメールの実データが保存される。文書管理システム上のフォルダは”受信メール\”+”POPアカウント名称”で、これをクリックすることで当該アカウントの受信メールを抽出表示する。フォルダアクセス権は、デフォルトでPOPアカウントを設定したユーザのみとなっている。
RcvMail.vbsで受信登録したメールは、件名、From、TOなどのヘッダ情報と本文(メモ型フィールド)で検索できる。原文データ(.eml)をメーラで開くことで、添付ファイルにアクセスする。
Subjectを文書タイトルにも転記しており、文書管理システムの文書タイトル検索に合わせた。
(つまり、DBレコードとして登録した文書情報とメールデータを区別しないで検索できるってわけ)

今のところダウンすることも、エラーを出すこともなく、黙々と10分おきでメールを受信・DB登録し続けている。
サイト管理のためのログメールやファイアウォールログなどを流し込んでいるため、一日に数百件ものメールが蓄積されているのである。