0

Mule を使用してメールを取得するための IMAP 接続があります。問題が発生しています。

私の2つの簡単な要件は次のとおりです。

  1. メールを逆順に取得したい。(最新順)
  2. SEEN メッセージを無視しますが、削除しないでください。

mule (3.3.1) が使用するコードを見ていました: org.mule.transport.email.RetrieveMessageReceiver.poll()。

コードはメッセージ 1 からメッセージを取得しているようです。

348: Message[] messages = folder.getMessages(1, batchSize);

ここで取得されたメッセージは、次のループで処理されます。

org.mule.transport.email.RetrieveMessageReceiver.messagesAdded(MessageCountEvent)

142: if (!messages[i].getFlags().contains(Flags.Flag.DELETED)
143:      && !messages[i].getFlags().contains(Flags.Flag.SEEN))

このロジック全体が行っていることは、古い未読メッセージを読み取ろうとしているということです。コードは 348 行目に戻って実行されます。

folder.getMessages(1, batchSize);

再び、同じメッセージを取得し、待機し続けます。フェッチの順序を変更するにはどうすればよいですか。

参考までに: IMAP に MS Exchange を使用する

4

1 に答える 1