javamail API를 사용하여 모든 메일 색인 생성을 위해 imap
을 통해 내 Gmail 상자를 읽습니다. 기본 폴더가 아닌 다른 모든 폴더를 읽으 려합니다. 아래 코드 부분은 Gmail의 기본 폴더 만 제공합니다.imap을 통해 javamail을 사용하여 중복 Gmail 이메일을 읽지 마십시오
javax.mail.Folder[] folders = store.getDefaultFolder().list("*");
for (javax.mail.Folder fold : folders) {
if ((fold.getType() & javax.mail.Folder.HOLDS_MESSAGES) != 0) {
System.out.println(fold.getFullName() + ": " + fold.getMessageCount());
}
}
위의 코드를 사용할 때 표시되지 않는 레이블이 여러 개 있습니다. 다른 방법으로 Gmail의 기본 폴더가 아닌 다른 모든 사용자 정의 레이블을 얻을 수 있습니다. 어떤 전자 메일에 레이블이 하나 이상 있고 해당 메일의 레이블이 있으면 어떤 방법으로도 얻을 수 있습니다. 이것은 같은 메일 읽기를 두 번 피하기위한 것입니다. 메일이 important
으로 표시되면 , ALL MAILS
및 IMPORTANT
폴더에 들어 있기 때문입니다. 위의 코드에 따르면 메일이 먼저 읽혀집니다. 만약 내가 그 폴더에있는 메일을 이미 읽었다면 다른 폴더에서 같은 메일을 읽지 않고 과 IMPORTANT
과 같은 메일을 읽거나 읽지 않은 것으로 표시하는지 여부와 관계없이 라벨을 가져오고 싶습니다. 나는 javamail과 imap을 처음 사용하고 그것이 작동하도록하는 방법을 생각할 수 없다. 가능한 방법이 있으면 도와주세요
https://developers.google.com/google-apps/gmail/imap_extensions – Max