2012-05-02 21 views
0

最近、Exchange Webサービスを使用して特定のメールボックスを受信し、そのメールボックスが新しいメッセージを受信したときに、アプリケーションが完全に異なるユーザーセットに電子メールを送信するWindowsサービスを作成しました。私はサブスクリプションサービスを通じてこれを行い、常に実行できるようにしました。Lotus Domino Script

Lotus Domino/Notesとの統合以外は、このアプリケーションを再作成します。私はいくつかの調査を行い、Lotus C API(多分)とLotus Domino Designer(私の望むようなものではない)とLotusScript(多分)を認識しています。

私の質問:私はもっと上の研究しなければならない上記の、もしあれば、

  1. も可能です。このロータスノーツ/ドミノと
  2. ?何もない場合、私は何を使うのが良いですか?私は、アプリケーションはまた、身体と受信者を抽出するために受信した電子メールを解析し、ある別のサーバーにPOSTメッセージを送るメッセージを受信することを追加するのを忘れ

おかげ

EDITをRESTサービスを実行しています。

、上記の機能は、そのメールボックスは、アプリケーションがに電子メールを送信する新しいメッセージを受信したときに、私は単に、特定のメールボックスにExchangeで

+0

あなたのサービスが新着メールでどのように通知されるかを拡大できますか?あなたはwebservices経由で交換メールボックスをポーリングしますか? – leyrer

答えて

3

を聞く初めてのルールを設定しなかった理由であります完全に異なるユーザーセット

これを行う方法はいくつかあります。

1.メールファイルのメールルール。

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.notes.help.doc/DOC/H_USING_RULES_TO_FILTER_NEW_MESSAGES_STEPS.html

2.(Javaの/ロータススクリプト/ SimpleAgent)「新しいメールが到着すると、」反応するメールファイル内のエージェントを作成し、それをコーディングします。 (私はSERVERADMINに依頼するより良い、とプレイしていない)

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.designer.domino.main.doc/H_WRITING_SCRIPTS_AND_FORMULAS_FOR_AGENTS.html

3.サーバーメールルール。

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.help.domino.admin.doc/DOC/H_FILTERING_OUT_UNWANTED_EMAIL_OVER.html

そのアプリケーションがドミノの外で何かを行うために必要とされない限り、メールボックスを監視する別のアプリケーションを有するビット愚かなようです。

+0

お返事ありがとうございます。編集を参照してください、私は別のアプリケーションを実装する必要があった理由を説明する必要があります。 –

+0

ポイント2を使用してRESTサービスにデータを送信することもできます。外部ルートに移動する必要がある場合は、Notes Java API、C-APIまたはCOMをNotes経由で使用できます。 –

2

consume web servicesすることができ、DominoのLotusScriptまたはJavaエージェントでPOSTリクエスト(LotusScript/WindowsまたはJava)を発行できます。

編集:私はあなたが/したいと仮定しています

は、Exchangeメールボックスを残しておく必要があります。そうでない場合は、他の提案のいずれかを使用して、彼らはすべて良いです。しかし、Exchangeにとどまる必要がある場合は、C APIよりエージェント(LotusScriptかJavaか)の作成と保守が簡単です。

+0

第2リンクを修正するために編集されました。 –

1

メールファイルがNotes/Domino自体にあった方が簡単です。もしそうであれば、他のユーザーへのメッセージを生成するメールファイルで新しいメールが受信されたときに実行されるエージェントを設定するだけです。それだけでNotes環境で行うことは、子供の遊びになります。

+0

クライアントのNotesがシャットダウンされていても実行しなければならない組織規模のスクリプトであるため、クライアント側を持つことはできません。私はメッセージを傍受しようとしており、さらに何かをやろうとしています –

+1

これは、上記のSimonの答えにあるように、「新しいメールが届いたら」を実行するようにマークされたLotusScriptエージェントを使用してサーバー側で行うことができます。 –

+0

正確に。クライアントは必要ありません。データベースは、メール・イン・データベースとしてリストされているデータベースだけでなく、「メール・ファイル」である必要はありません。私はこれを何度もやったことがあり、それはとても簡単です。これは、Lotus Notesのデータベースとメールシステムの統合における大きな利点の1つです。 –

0

Q & Aは、他の答えのために行くに基づき、私はあなたがノーツC APIを使用している必要があります信じています。特に、APIのExtension Manager機能を使用する必要があります。私は答えのひとつであなたの言葉 "傍受"の使用に部分的に基づいています。これを真に行うためには、Dominoサーバーのルーター・メールボックス・ファイルにイベントをフックする必要があります。しかし実際には、これには2つの理由があります。

最もコンプライアンスとセキュリティ製品は、彼らが配信されている前にメッセージ を遮断するために行う傾向にあるものだ
  • は、常にユーザーのメールファイルが存在するよりも、フックする少数のルータのメールボックスファイルがあるように予定されています。したがって、配信前にメッセージをキャッチする技術的な要件がない場合でも、多くのユーザーのメールボックスにある多くのエージェントに作品を配布するのではなく、多くのユーザーに配信を引き渡すよりも、メールボックス。

このような何かのための通常の手法は、イベントをフックし、「保留」状態にメッセージを配置し、サーバー・タスクとして実行されているコードの別の部分を知らせる小さなフットプリントのDLLを必要とします。そうすれば、ルータはあなたがコードを実行するまで、メッセージの配信を処理しようとしません(RESTサービスに投稿するときに応答を待つ必要がある場合は、数サイクルかかることがあります)。サーバータスクは、C APIを使用しても書き込まれます。 (Javaはサーバータスクの潜在的な選択肢でもありますが、IBMはJavaで書かれたサーバータスクを持っていますが、私がポイントブランクを尋ねたときにIBMersからは空白が残っています。このサーバーのタスクコードは、追跡する必要のあるユーザーの1人にメッセージが配信されているかどうかを確認し、そうでない場合はすぐに保留を解除してから、それはホールドオフ。

ここで別の考えがあります。 Exchange Webサービスを使用するWindowsサービスを既にお持ちであり、実際に必要なすべてのロジックが含まれています。なぜその論理を複製するのですか? Dominoは独自のWebサービスのデプロイをサポートしているので、これを行う正しい方法は、拡張マネージャを使用してメッセージを「保留」にすることですが、処理を行うサーバータスクではなく、パスするDomino Webサービスを作成しますそのデータをWindowsサービスに戻し、既にExchangeと通信するために既に使用しているインターフェイスを模倣します。私はExchange Webサービスに精通していないので、Windowsサービスを「リスニング」するためにどのように使用するのか分かりませんので、ドミノのWebサービスのコンセプトには本当に対応できないのかどうかはわかりません。たぶんあなたは聞くよりも "ポーリング"しなければならないかもしれません。とにかく、それは単なる考えです。

関連する問題