JavaMail 1.5.2를 사용하여 IMAP 계정에서 메시지를 읽습니다. 내가 날짜,에서와 같이, 어떤 메시지 데이터를 프리 페치 호스트, 메시지 ID 등 : 그러나JavaMail에서 미리보기 미리보기 메시지
Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.CONTENT_INFO);
fp.add("Message-ID");
Message msgs[] = folder.getMessages();
folder.fetch(msgs,fp);
에 요청의 수를 줄이기 위해, 나는 또한을 생성 할 콘텐츠의 일부 부분을 프리 페치 할 모든 첨부 파일이 포함 된 전체 메시지를로드하지 않고도 메일의 텍스트를 미리 볼 수 있습니다. 예를 들어 "text/plain"유형이 있고 첨부 파일이없는 콘텐츠의 모든 부분을 미리 가져 오려고합니다. 그게 가능하니?
추신 : fp.add(IMAPFolder.FetchProfileItem.MESSAGE)
과 같은 솔루션을 검색하지 않습니다. 전체 첨부 파일이 모두 인 프리 페치가 있기 때문입니다.
매우 도움이되는 답변에 감사드립니다. 대담한 것을 용서해주세요. 그러나 메시지 데이터를 가져 오기 위해 IMAP 명령을 작성하고 보내는 방법을 보여주는 Java 코드를 추가 할 수 있습니까? 나는 전에 이것을 한 적이 없으며 방법을 알아 내는데 며칠이 걸릴 것입니다. 이전처럼 이런 일을 한 것으로 보이므로 일부 코드를 공유 할 수 있다면 정말 고맙겠습니다. –
IMAP을 사용하기 전에 이런 종류의 작업을 수행했지만 Javamail 라이브러리는 또 다른 이야기입니다. 나는 처음부터 새로 작성하지 않은 Javamail 코드만을 읽고 수정 했으므로 10-20 라인 만해도 1 시간 이상 걸릴 것이지만 Stack Overflow에 쓸 수있는 것보다 많습니다. 죄송합니다. – arnt
죄송합니다. 이런 종류의 문제에 대해 이미 JavaMail 관련 코드를 작성해 두었다가 여기에 신속하게 복사하여 붙여 넣을 수 있다고 생각했습니다. 나는 당신의 대답이 제 문제에 대한 적절한 해결책으로 인도 할 것이라고 확신합니다. FYI : 답변을 더 빨리 받기 위해 1 ~ 2 일 정도 기다려야하므로 즉시 답을 수락하지 않겠습니다. –