【发布时间】:2013-01-18 12:58:46
【问题描述】:
我正在使用 javamail api 通过imap 阅读我的 gmail 邮箱,以索引所有邮件。我想阅读除默认文件夹以外的所有文件夹。下面的代码段只给出了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,那么它会出现在INBOX、ALL MAILS 和IMPORTANT 文件夹中。所以根据上面的代码,INBOX 邮件首先被读取。如果我已经阅读了该文件夹中的邮件,我想避免阅读其他文件夹中的相同邮件并获取它的标签,例如INBOX 和IMPORTANT,无论该邮件被标记为已读还是未读。我对 javamail 和 imap 都是新手,不知道如何让它工作。如果有任何可能的方法,请帮忙
【问题讨论】:
标签: java imap jakarta-mail gmail-imap