- ベストアンサー
メール受信時に自動処理&本文から情報取得したい
- 特定の差出人から、一定のパターンにマッチする件名のメールを受信した時に、そのHTMLメールの内容に応じて一定の処理を個なわせる方法を探しています。
- 具体的にやりたいことは、特定のメールが受信された時に、自動でフォルダを生成し、フォルダ内に指定されたフォルダを作成し、メール本文の情報をエクセルに貼り付けて保存することです。
- 現在使用しているメールクライアントはBecky! 2とThunderbirdで、VBやPHPを使用して処理を行う予定です。しかし、トリガーや情報の取得方法についてわからない部分があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Becky!の標準機能(フィルタリングマネージャ)で、「条件に合致したメールを、指定したプログラムを起動してメールを渡す」というのがありますので、VBScriptででもそういうプログラムを書いて、起動すれば良いと思います。 VBScriptであれば例としてお書きの処理は全部できます。面倒な物もありますが。 PHPであれば書けるのにと言うことであれば、PHPを起動してもいいかと。
その他の回答 (1)
- koi1234
- ベストアンサー率53% (1866/3459)
サンダーバードは知りませんがメールソフトに関係なく自分で メールサーバとデータ通信して内容解析するソフトを作らないと どうしようもないのではないかと思います メールソフトでやりたいなら該当するメールソフトのアドオンを 自分で自作するということになるでしょう 当然PC上で動作させるプログラムになるわけですから 言語としてはBATファイルとか PHHPってのは論外になるかと思います 最低限VB(VBAじゃない) 使ってプログラムを作らないといけないでしょうね プラグイン作成の知識も必要になります 機能が違いますがメール経由で何か下の動作をするといったような ソフトは存在します そういったののを駆使することによってひょっとしたら BATなどでもできるかもしれませんが使った事は無いのでわかりません 自分で試してください 例) http://007.jp/jp/Feature/MialControl/MailCtrl.htm http://www.vector.co.jp/soft/winnt/net/se322836.html
お礼
ありがとうございます。 > メールサーバとデータ通信して内容解析するソフトを作らないと > どうしようもないのではないかと思います と、私も思ったんです。PHPを使ってPOP3アカウントに接続してメールを取得して処理~という大がかりなことを想定していたのですが、ほかの回答者が答えてくれたとおりBeckyに標準装備されていました。 特定の条件に一致するメールが来た時に、指定したコマンドラインを実行する、というものです。 D:\hoge\test.bay %1 このように指定すると、%1にはそのメールのヘッダーや内容がはいったファイルまでのパスが取得できます。実際のファイルのパスではなく、実際のファイルをコピーしたものがテンポラリファイルにおかれて、そこまでのパスのようです。 なぜか bat しか起動できなかったので、そこから vbs を起動して処理を進めることにしました。操作内容が簡単なのでどの言語でやってもできそうですが、単純な処理なのでVBSでもなんとかかけそうです。
お礼
ありがとうございます。 灯台もと暗し。Beckyに標準装備されてましたね。 フィルタリングマネージャーでプログラムを起動するを選んで、自作したbatを指定(vbsは動きませんでした、なぜか)しました。Beckyからはコマンドラインで呼び出す形になるのですが、%1という引数を指定するとそのメールをテンポラリフォルダに展開してそのパスを渡すことになるようでした。 あいにくHTMLメールが来てもそのHTMLファイル自体は渡さず、各種ヘッダー情報などに加えて、「表示上のテキスト」だけをまるっとコピペされた本文が取得できました。 「最初のテーブルの最初のTDから取得」といった指定はできませんでしたが、メールの形式が固定的なので、特定の文字列が出現したら次の行を prjNum という変数に、次の次の行を prjName という変数にといった具合に欲しい情報を入れることができました。 もちろん bat ファイルからPHPも起動できるようでしたが、単純な操作なので渡しでも VBScript で記述できそうです。 問題解決、ありがとうございました。