Просто попробовал изучать 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.
Я разрешаю доступ IMAP в настройках Gmail. есть ли что-то, чего я не хватает?
Позвольте мне написать решение, оно поможет кому-то столкнуться с подобной проблемой.
На самом деле я добавил java mail jar, но imap jar отсутствовал, и для этого не было никакой ошибки.
Вот почему я не смог выяснить причину.
После просмотра параметров "imaps://imap.gmail.com"
я столкнулся с параметром "debugMode"
который по умолчанию является ложным. когда я добавил этот параметр со значением true, тогда он жаловался на отсутствующую банку на моей консоли. Добавив, что банка работает отлично.
Спасибо за помощь.