Email Connector では、IMAP プロトコルと POP3 プロトコル用の同様に機能する 2 つのリスナーが提供されます。ただし、使用する XML 要素の名前はメールプロトコルによって異なります。
-
listener-imap
-
listener-pop3
コンポーネントのポーリング頻度を変更するには、リスナーの scheduling-strategy を設定できます。
例: IMAP メールリスナー (新規メールトリガー)
<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>
例: POP3 メールリスナー (新規メールトリガー)
<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 プロトコルではウォーターマークがサポートされないためです。処理されたメールを削除することで、次に処理されるメールは新規メールであることを確信できます。
この機能では、設定済みのメールボックスフォルダーからメールが削除されることを理解しておくことが重要です。