2013-07-23 1 views
0

[email protected]에서 2 개의 이메일 아이디에 첨부 파일을 보내고 이메일을 보냅니다. 하나는 이메일 ID이고 다른 하나는 [email protected]입니다. 그 이메일. 내가 검색 기준으로 이메일 ID와 자바 메일 API를 사용하여 메일 검색을했을 때, 내가 그 이메일을 받았습니다 불구하고 그것을 찾을 수 없습니다.하지만 내가 동일한 이메일 ID의 검색 기준에 전달하면 잘 작동합니다. 당신이 POP3를 사용하고 있기 때문에메일 API를 사용하여 searchTerm을 사용하여 이메일 서버를 검색 할 수 없습니다.

Properties properties = System.getProperties(); 
     properties.put("mail.smtp.host", ExchangeProperties.getSmtpHost()); 
     properties.put("mail.pop3.connectiontimeout", String.valueOf(ExchangeProperties.getPop3ConnectionTimeout() * 1000)); 
     properties.put("mail.pop3.timeout", String.valueOf(ExchangeProperties.getPop3Timeout() * 1000)); 
     session = Session.getInstance(properties, null); 
     session.setDebug(logger.isDebugEnabled()); 
     // Get the store 
     store = session.getStore("pop3"); 
     store.connect(ExchangeProperties.getSmtpHost(), user, password); 


Folder folder = store.getFolder(folderName) 
     Message[] foundMessages = folder.search(andTerm); //andTerm contains email id 
     FetchProfile fp = new FetchProfile(); 
        fp.add(FetchProfile.Item.ENVELOPE); 
        folder.fetch(foundMessages, fp); 

답변

0

를 검색 할 수없는 이유를 나에게 이메일을 그 시점에서 처음으로 수신 될 때 알려 주시기 바랍니다, 모든 검색 클라이언트로 모든 메시지를 다운로드하여 수행되며 그들을 거기에서 찾는다. 서버가 검색을 수행하게하려면 imap을 사용하십시오.

pop3 폴더를 연 상태에서 새 메시지가 도착하면 해당 메시지를 볼 수 없습니다. 폴더를 닫았다가 다시 열어야합니다. 이것이 pop3 프로토콜의 한계입니다.

그 중 아무 문제가 발생하지 않는다면 정확하게 어떤 검색어를 사용하고 있는지, 정확하게 어떤 값을 검색하고 있는지, 정확히 어떤 값이 이메일 헤더에 나타나는지 알고 있어야합니다.

+0

나는 검색어,받는 사람 용어 TO를 전자 메일, 헤더 용어, 주제 용어 및 ANDterm을 사용하여 검색하고 있습니다. 나는 이것을 기반으로 이메일을 검색하고 그 이메일과 함께 전송 된 첨부 파일을 검색하고 그 첨부 파일을 추가로 처리해야합니다. 'imap'프로토콜로 가능합니까? – user2393330

+0

작동해야하지만 세부 사항이 중요합니다. 여기에 세부 정보를 게시하고 싶지 않으면 [email protected]으로 나에게 보낼 수 있습니다. 또한 테스트를 위해받는 사람 용어 만 사용하고받는 사람 용어를 제외한 모든 항목을 사용하여 각 경우에 예상되는 것을 얻는 지 확인하십시오. 이것은 모두 imap에서도 작동해야하지만 imap은 검색이 서버에서 수행된다는 장점이 있습니다. –

+0

세부 사항을 우편으로 보냈습니다. 감사합니다 – user2393330

관련 문제