세르게이가 가깝지만 기본적으로 JavaMail의 list()
은 LIST "" %
이며 최상위 수준의 폴더 만 제공합니다. Gmail은 선택 폴더 인 [Gmail]
아래에 시스템 폴더 (모든 메일, 임시 보관함, 보낸 편지함, 스팸 함, 별표 편지함 및 휴지통)를 저장하므로 실제로는 LIST "" *
해야합니다. 그렇지 않으면 , [Gmail]
및 라벨을 다시 가져올 수 있습니다. 여기
은 Gmail로 연결하는 몇 가지 예제 코드의 폴더 목록을 가져옵니다, 그리고 (
[Gmail]
처럼, 단지 계층 자리하지 않은 즉, 사람) 각 비
\NoSelect
폴더의 이름과 메시지 수를 출력한다 :
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
try {
Session session = Session.getDefaultInstance(props, null);
javax.mail.Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "<username>@gmail.com", "<password>");
javax.mail.Folder[] folders = store.getDefaultFolder().list("*");
for (javax.mail.Folder folder : folders) {
if ((folder.getType() & javax.mail.Folder.HOLDS_MESSAGES) != 0) {
System.out.println(folder.getFullName() + ": " + folder.getMessageCount());
}
}
} catch (MessagingException e) {
e.printStackTrace();
}
왜 당신이 찾고 있던 결과를주지 않은 대답을 수락 했습니까? – dkarp