首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IMAP如何知道要取哪些电子邮件?

IMAP如何知道要取哪些电子邮件?
EN

Stack Overflow用户
提问于 2016-01-08 15:54:06
回答 1查看 1.9K关注 0票数 0

我正在使用Apache Camel监控电子邮件收件箱。我一直在试图弄清楚,自上次投票以来,新收到的电子邮件是如何被退回的。不知怎么的,这个过程只会回复上次投票期间收到的电子邮件。

投票时间设置为60秒。如果我在这个时间框架内向收件箱发送一封电子邮件,一封电子邮件将由路由处理。如果我在接下来的60秒内发送了两封电子邮件--只有两封邮件是由路由处理的,而不是三封邮件--它忽略了前一次投票中处理的第一封电子邮件。我想知道这是怎么发生的?

我不会查看邮箱或标记任何电子邮件为已阅读。

代码语言:javascript
运行
复制
<camel:camelContext id="webService">
    <camel:route id="monitor">
        <camel:from uri="imap://pulp.test.uk?username=tester&amp;password=testing&amp;unseen=true&amp;consumer.delay=60000" />
        <camel:process ref="storeProcessor" />
    </camel:route>  
</camel:camelContext>
EN

回答 1

Stack Overflow用户

发布于 2016-01-08 17:54:37

请查看camel imap组件的"peek“选项。通常情况下,骆驼在通过imap“窥视”每条处理过的消息获取新邮件时。在这种情况下,如果消息被成功地处理,那么它将被标记为已见,但是如果在处理过程中会出现一些错误,那么消息将保持不可见。在您的路由中,您只处理未见的消息。

http://camel.apache.org/mail.html

文档中有关"peek“选项的信息:

只供消费者使用。将javax.mail.Message标记为在处理邮件之前查看。这只适用于IMAPMessage消息类型。通过使用peek,邮件将不会像在邮件服务器上看到的那样被标记,这允许我们在Camel中出现错误处理时回滚邮件消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34681004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档