java - Apache Camel 从 gmail 帐户读取未读邮件

标签 java email apache-camel pooling

刚刚尝试学习 Apache Camel。

我正在尝试阅读 gmail 收件箱未读邮件。

我在搜索时获得了代码片段,但未能从中获得成功。

如果有人指出错误,

    PollingConsumer pollingConsumer = null;
    CamelContext context = new DefaultCamelContext();

   Endpoint endpoint = context.getEndpoint("imaps://imap.gmail.com?username=" + mailId + "&password=" + password + "&delete=false&peek=false&unseen=true&consumer.delay=6000&closeFolder=false&disconnect=false");


    System.out.println("end point:"+endpoint);

    pollingConsumer = endpoint.createPollingConsumer();
    System.out.println("polling consumer:"+pollingConsumer);
    pollingConsumer.start();

    pollingConsumer.getEndpoint().createExchange();
    System.out.println("Exchange is created:");
    Exchange exchange = pollingConsumer.receive();
    System.out.println("pollingConsumer.receive()");

pollingConsumer.receive(); 被阻止,我的邮箱中有未读邮件。 我还尝试了 pollingConsumer.receive(6000); 但它返回 null。

我在 Gmail 设置中启用了 IMAP 访问。我有什么遗漏的吗?

最佳答案

让我写下解决方案,这将帮助面临类似问题的人。

实际上我已经添加了 java mail jar,但是缺少 imap jar,并且它没有显示任何错误。

这就是为什么我无法找出真正的原因。

浏览“imaps://imap.gmail.com”的参数后,我发现“debugMode”参数默认为false。当我添加值为 true 的参数时,它提示我的控制台上缺少 jar 。添加该 jar 后认为工作完美。

感谢您的帮助。

关于java - Apache Camel 从 gmail 帐户读取未读邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27607874/

相关文章:

python - 如何从 python 中的 RFC 2822 邮件 header 中提取多个电子邮件地址?

security - 更安全的密码通信

java - Apache Camel 路由到路由时生成异常

java - 无法在 CamelContext 上调用 public void org.apache.camel.cdi.CdiCamelContext.start()

java - 如何从另一个类的 onLocationChanged() 调用 Activity 中的方法

java - 在 Java 中为变量分配动态名称

html - 如何将 font-awesome 与 mjml 一起使用?

java - 在 Camel 中,@Produce 生产什么,@Consume 消费什么?

java - Struts 2 + Sitemesh 3 集成 - FreemarkerDecoratorServlet 中的 NPE

java - 如何将jar添加到java web netbeans项目目录