JavaMail创建可见文件夹

问题描述 投票:1回答:2

我正在尝试使用JavaMail API创建一个电子邮件文件夹,如下所示:

Properties props = new Properties();
props.put("mail.store.protocol", "imap");
props.put("mail.imap.timeout", 1000);
props.put("mail.imap.connectiontimeout", 1000);
props.put("mail.imap.writetimeout", 1000);
props.put("mail.imap.connectionpooltimeout", 500);
props.put("mail.imap.fetchsize", "2000000");

Session session = Session.getInstance(props);
Store store = session.getStore();
store.connect(host, user, pass);
Folder someFolder = store.getFolder("SomeFolder");

if (!someFolder.exists())
    if (someFolder.create(Folder.HOLDS_MESSAGES))
        System.out.println("Folder was created successfully");

我可以使用我的软件中的这个文件夹:将消息移动到它,获取消息列表等。但它对大多数(不是所有)邮件客户端是不可见的,例如,Thunderbird。如何创建对所有邮件客户端可见的文件夹?

java email javamail
2个回答
1
投票

您必须订阅新文件夹。

if (!someFolder.exists()) {
    if (someFolder.create(Folder.HOLDS_MESSAGES)) {
        someFolder.setSubscribed(true);
        System.out.println("Folder was created successfully");
    }
}

0
投票

您可能想尝试这个,看看它是否允许您查看用户通过身份验证的所有文件夹。

javax.mail.Folder[] folders = store.getDefaultFolder().list("*");
© www.soinside.com 2019 - 2024. All rights reserved.