我正在尝试使用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。如何创建对所有邮件客户端可见的文件夹?
您必须订阅新文件夹。
if (!someFolder.exists()) {
if (someFolder.create(Folder.HOLDS_MESSAGES)) {
someFolder.setSubscribed(true);
System.out.println("Folder was created successfully");
}
}
您可能想尝试这个,看看它是否允许您查看用户通过身份验证的所有文件夹。
javax.mail.Folder[] folders = store.getDefaultFolder().list("*");