ヘッダーをスキップ
Oracle Workflow 管理者ガイド リリース 2.6.3.5 部品番号 B15820-01
|
インバウンド通知メーラー処理
通知メーラーは、Internet Message Access Protocol(IMAP)を使用して、ユーザーからの電子メールの応答を処理することもできます。通知メーラーは、Javaベースの電子メール・パーサーを使用して、各メッセージのテキストを解釈し、そのXML表現を作成します。
通知メーラーは、応答を処理するために、応答メール・アカウントで、着信メッセージの受信用、処理済メッセージの格納用および廃棄メッセージの格納用の3つのフォルダを使用します。
通知メーラーは、応答メッセージを処理するために次の処理を実行します。
- 受信ボックス・フォルダにメッセージがないかを確認します。メッセージがある場合は、通知メーラーはメッセージを読み取り、NID行の通知ID(NID)とノード識別子を確認します。
- メッセージが通知応答でない場合、つまりNID行がない場合、通知メーラーはメッセージを廃棄フォルダに移動して、応答なしメッセージとして扱います。 また、特定の電子メール・アドレスから応答なしメッセージを最初に受信すると、通知メーラーはメッセージの送信者に警告メッセージを送信します。
ただし、バウンスされたメッセージまたは自動応答メッセージが原因で不必要な警告メッセージを送信しないように、各メーラー・ノードでは、応答なしメールを受信した電子メール・アドレスのリストを格納し、それらのアドレスには余分な警告メッセージを送信しません。 かわりに、ノードで特定のアドレスから2回目の応答なしメッセージを受信した場合、通知メーラーはそのメッセージを廃棄し、oracle.apps.wf.mailer.unsolicitedイベントを呼び出します。 2回目の応答なしメッセージに対してなんらかの処理を実行する場合は、このイベントに対するサブスクリプションを定義することもできます。 後続の応答なしメッセージに対しても、通知メーラーはそのメッセージをすべて廃棄するのみです。
注意: 各メーラー・ノードの警告リストには、最大100個の電子メール・アドレスを格納できます。 このリストが満杯になり、ノードでこのリストに含まれないアドレスから応答なしメッセージを受信した場合、通知メーラーは最も古いアドレスをリストから削除して、新しいアドレスを追加します。 また、通知メーラーを最初に起動したとき、およびメーラーのコンテナを停止して再起動したとき、通知メーラーではすべてのアドレスを削除してこのリストをクリアします。 この場合、警告リストから削除されたアドレスから応答なし電子メールを受信すると、メーラーが再度警告メッセージを送信する場合があります。
- メッセージが通知応答であるが、誤ったノードに対するものである場合、通知メーラーはメッセージを受信ボックスに残します。
- メッセージが現行ノードに対する通知応答である場合、つまりメッセージに現行ノードのノード識別子が含まれるNID行がある場合、通知メーラーはそのメッセージを処理します。
通知メーラーは、そのノードに属するメッセージに対して次の手順を実行します。
- 構成パラメータに指定されたタグがある場合はそれを参照し、そのメッセージがバウンスされたのかどうかをチェックします。メッセージがバウンスされている場合は、通知メーラーはタグ・リストの指定に応じて、メッセージを再ルーティングするか、または通知のステータスを更新してそれ以降の処理を中止します。
- NID行に基づいてこの通知をOracle Workflowデータベースでチェックします。
- 通知がない場合、つまりNID行の通知IDまたはアクセス・キーが無効である場合、通知メーラーはメッセージを廃棄フォルダに移動します。 NID行の形式が正しくない場合、通知メーラーはメッセージを廃棄フォルダに移動して、応答なしメッセージとして扱います。
- 通知があっても、クローズまたは取り消されている場合、通知メーラーはメッセージを廃棄フォルダに移動し、受信者ロールにそれぞれワークフロー・クローズ・メール・メッセージまたはワークフロー取消のメール・メッセージを送信します。
- 通知が存在し、オープンされている場合、通知メーラーは、メッセージのXML表現を生成して、標準のWF_NOTIFICATION_INエージェントにoracle.apps.wf.notification.receive.messageというイベントとして格納します。次に、通知メーラーは、電子メール・メッセージを処理済フォルダに移動します。
注意: 応答メッセージの文字コードがデータベースのコードセットと互換性がない場合は、通知メーラーが応答を解析して応答値を認識できない場合があります。メール・クライアントでのメッセージの文字コードが、データベースのコードセットと互換性があることを確認してください。
受信ボックスに未処理のメッセージがなくなった場合、通知メーラーは電子メール・アカウントからログアウトします。
Oracle Workflowには、ワークフロー・インバウンド通知エージェント・リスナーというシードされたエージェント・リスナーが用意されています。このエージェント・リスナーは、WF_NOTIFICATION_INエージェントで実行され、そのエージェントにある有効な応答メッセージに対する通知処理を続行します。 イベント・メッセージがWF_NOTIFICATION_INからデキューされると、適切な通知応答関数をコールするシードされたサブスクリプションが実行されます。 この関数は、データベースにあるメッセージの応答属性の定義を使用して応答値を検証します。 応答値が無効か、または応答値が含まれていない場合、この通知応答関数によって、通知メーラーは受信者ロールにワークフロー無効のメール・メッセージを送信します。 応答が有効である場合は、通知応答関数によって応答が記録され、通知が完了します。
「通知メーラーの導入」を参照してください。
「通知メーラーの管理」を参照してください。
「通知メーラーの設定」を参照してください。
「アウトバウンド通知メーラー処理」を参照してください。
「ワイヤレス通知」を参照してください。
「電子メール通知のセキュリティ」を参照してください。
「ワークフローの警告メール・メッセージ」を参照してください。
「ワークフロー・クローズ・メール・メッセージ」を参照してください。
「ワークフロー取消のメール・メッセージ」を参照してください。
「ワークフロー無効のメール・メッセージ」を参照してください。
「ワークフロー無効オープン・メール(詳細情報の要求)メッセージ」を参照してください。
Copyright © 2003, 2004, Oracle. All rights reserved.