Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerEmail Connector ではリスナー (Studio の UI では [On New Email (新規メール)] と呼ばれる) が提供されます。リスナーはメールボックスのメールフォルダーをポーリングし、その中の未読のメールを見つけて、見つかったメールごとに新しいメッセージを生成します。
この機能の重要な部分は、メールが新規であることをどのように判別するかです。 この判別には、次の 3 つの戦略があります。
deleteAfterRetrieve パラメーターを true に設定する。この設定では、メールは処理された後にメールボックスフォルダーから削除されるため、次回のポーリングで見つかったすべてのメールが新規になります。
マッチャーを使用して、ポーリングするメールを絞り込む。
IMAP プロトコルでは、watermark パラメーターを使用して、前回のポーリングの実行後に受信されたメールのみを選択することもできます。
Email Connector では、IMAP プロトコルと POP3 プロトコル用の同様に機能する 2 つのリスナーが提供されます。ただし、使用する XML 要素の名前はメールプロトコルによって異なります。
listener-imap
listener-pop3
コンポーネントのポーリング頻度を変更するには、リスナーの scheduling-strategy を設定できます。
<flow name="OnNewEmail">
<email:listener-imap config-ref="imap-config">
<scheduling-strategy>
<fixed-frequency frequency="2000"/>
</scheduling-strategy>
</email:listener-imap>
<flow-ref name="processEmail"/>
</flow>
<flow name="OnNewEmail">
<email:listener-pop3 config-ref="pop3-config">
<scheduling-strategy>
<fixed-frequency frequency="2000"/>
</scheduling-strategy>
</email:listener-pop3>
<flow-ref name="processEmail"/>
</flow>
POP3 および IMAP リスナーでは、deleteAfterRetrieve パラメーターを true に設定することで、ポーリングされたメールの処理が完了した後にメールを削除できます。
この機能は、メールが誤って削除されないようにデフォルトで無効になっています。
<flow name="OnNewEmailDeleteAfterProcessed">
<email:listener-pop3 config-ref="pop3-config" deleteAfterRetrieve="true">
<scheduling-strategy>
<fixed-frequency/>
</scheduling-strategy>
</email:listener-pop3>
<flow-ref name="processEmail"/>
</flow>
このパラメーターは POP3 プロトコルで一般的に使用されます。POP3 プロトコルではウォーターマークがサポートされないためです。処理されたメールを削除することで、次に処理されるメールは新規メールであることを確信できます。
この機能では、設定済みのメールボックスフォルダーからメールが削除されることを理解しておくことが重要です。
Email Connector では、IMAP プロトコル経由のメールの場合にメールにウォーターマークを適用し、受信日に基づいてメールを絞り込むことができます。
listener-imap トリガーを使用してウォーターマークを有効にするには、単に watermark パラメーターを true に設定します。これで、割り当てられたメッセージには、前回のポーリングの実行後に受信されたメールのみが含まれます。
<flow name="OnNewEmailWatermark">
<email:listener-imap config-ref="imap-config" watermark="true">
<scheduling-strategy>
<fixed-frequency/>
</scheduling-strategy>
</email:listener-imap>
<flow-ref name="processEmail"/>
</flow>
カスタムマッチャー設定では、割り当てるメッセージを絞り込む別の方法が提供されます。
POP3 および IMAP リスナーには、日付、アドレス、件名、フラグ (参照済み、回答済みなど) によりメールを絞り込むことができる独自のマッチャーがあります。
<flow name="OnNewEmailWatermark">
<email:listener-imap config-ref="imap-config">
<scheduling-strategy>
<fixed-frequency/>
</scheduling-strategy>
<email:imap-matcher subjectRegex="IMPORTANT"/>
</email:listener-imap>
<flow-ref name="processEmail"/>
</flow>
上の例では、件名に「IMPORTANT」の単語が含まれるメールメッセージのみが割り当てられます。
Email Connector には、添付ファイルの命名戦略を指定できる List および On New Email 操作用のパラメーターがあります。このパラメーターは設定レベルで定義されますが、操作レベルで上書きできます。
パラメーターの次の値のいずれかを指定できます。
NAME (デフォルト)
値が NAME に設定されている場合、コネクタは添付ファイルの Content-Disposition 行にある filename 項目の値に基づいて添付ファイルに名前を付けます (これは、添付ファイルの名前を設定するための標準の推奨される方法です)。filename 項目が存在しないか空の場合、添付ファイルの名前は「Unnamed」になります。
複数の添付ファイルに名前がない場合、個別に対応できるように、それらの名前は「Unnamed」、「Unnamed_1」、「Unnamed_2」のようになります。
NAME_HEADERS
値が NAME_HEADERS に設定されている場合、コネクタは最初に Content-Disposition 行にある filename 項目の名前の取得を試みます (NAME を使用する場合と同様)。それに失敗した場合、コネクタは添付ファイルの Content-Type 行にある name ヘッダーを検索します。name ヘッダーが存在しないか空の場合、添付ファイルの名前は「Unnamed」になります。
NAME_HEADERS_SUBJECT
値が NAME_HEADERS_SUBJECT に設定されている場合、コネクタは前述の 2 つの戦略を試みます。両方に失敗した場合、コネクタは添付ファイル自体がメール (ネストされたメッセージ) であるかを確認し、メールの件名を検索します。件名が空でない場合、添付ファイルの名前には件名が使用されます。それ以外の場合、添付ファイルの名前は「Unnamed」になります。
<email:imap-config name="gmail" attachmentNamingStrategy="NAME_HEADERS">
<email:imap-connection host="imap.gmail.com" port="993" user="user@gmail.com" password="mypassword">
</email:imap-connection>
</email:imap-config>
<email:listener-imap config-ref="gmail" attachmentNamingStrategy="NAME_HEADERS_SUBJECT">
<scheduling-strategy>
<fixed-frequency/>
</scheduling-strategy>
</email:listener-imap>