刚刚尝试学习 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/