【发布时间】:2014-05-19 17:38:27
【问题描述】:
我有一个 IMAP 连接,可以使用 Mule 获取电子邮件。我遇到了问题。
这是我的两个简单要求:
- 我想以相反的顺序获取电子邮件。 (最新优先)
- 忽略 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);
再次,并收到相同的消息,并继续等待。如何更改获取的顺序。
仅供参考:将 MS Exchange 用于 IMAP
【问题讨论】: