java - 如何使用JavaMail从Google Mail(Gmail)中读取带有多个标签的邮件?

标签 java gmail imap jakarta-mail

在 Google Mail 中,我希望收到分配了多个标签的邮件。例如,如果在收件箱中我们有三封电子邮件:

带有标签_A 和标签_B 的电子邮件_1

带有标签_A 和标签_B 的电子邮件_2

带有标签_A 和标签_C 的电子邮件_3

然后我想选择同时有Label_A和Label_B的,也就是Email_1和Email_2。目前以下代码适用于单标签情况,但有没有办法处理多个标签?谢谢。


Properties props = System.getProperties();
Session session = Session.getInstance(props, null);

Store store = session.getStore("imaps");
store.connect("imap.gmail.com", -1, "abc@def.com", "password");

Folder folder = store.getDefaultFolder();

folder = folder.getFolder("Label_A");
folder.open(Folder.READ_WRITE);      

int totalMessages = folder.getMessageCount();
int newMessages = folder.getNewMessageCount();
System.out.println("Total messages = " + totalMessages);
System.out.println("New messages = " + newMessages);

最佳答案

你应该能够做这样的事情:

private Store store;
private Folder Label_A; 
private Folder Label_B; 
    ...
        Label_A = store.getFolder("Label_A"); 
        Label_B = store.getFolder("Label_B"); 

关于java - 如何使用JavaMail从Google Mail(Gmail)中读取带有多个标签的邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3521521/

相关文章:

java - 具有存储库工厂的存储库模式

r - GmailR 不断要求重新验证——还有更好的选择吗?

php - 使用核心 php mail() 通过 gmail SMTP 发送

windows - Mail::IMAPClient->new 在 Windows 中挂起

java - 将处理 3 添加到 Jpanel

java - Socket OutputStream(BufferedWriter) 不刷新消息

java-native-interface - JNI 代码中的 fatal error - 可能在 JDIC 库中

android - 如何在 Android 中使用 GMail 地址获取 Google 用户 ID?

java - 使用Javamail获取附件

php - Roundcube附件上传内部服务器错误