2014-12-22 2 views
1

Apache Camel을 배우려고했습니다.Apache Camel은 Gmail 계정에서 읽지 않은 메일을 읽습니다.

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 액세스를 사용하도록 설정합니다. 내가 누락 된 것이 있습니까?

+0

프록시로 실행하고 있습니까? –

+0

코드가 저에게 효과적입니다. 문제는 낙타 밖입니다. – ltsallas

+0

Itsallas와 James에게 도움을 청합니다. 나는 해결책을 썼다. 그것은 내 편이 잘못이었습니다. – Jayesh

답변

2

나는 해결책을 쓰게한다, 그것은 비슷한 문제에 직면하고있는 누군가를 도울 것이다.

사실 저는 java 메일 항아리를 추가했지만 imap jar가 누락되어 이것이 어떤 오류도 표시하지 않았습니다.

그래서 실제 원인을 파악할 수 없었습니다.

"imaps://imap.gmail.com"의 매개 변수를 탐색 한 후 "debugMode" 매개 변수가 기본적으로 false 인 것으로 나타났습니다. 그 값을 true로 설정했을 때 콘솔에 jar 파일이 없다는 불평을했습니다. 그 병을 추가 한 후 완벽하게 작동한다고 생각합니다.

도움 주셔서 감사합니다.

+0

어떤 JDK, OS 및 응용 프로그램 서버를 사용하고 있습니까? com.sun.mail (http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.sun.mail%22%20AND%20a%3A%22imap)의 imap.jar입니까? % 22)? –

관련 문제