gpt4 book ai didi

java - 在 IMAP 中创建文件夹不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:34:09 25 4
gpt4 key购买 nike

我正在努力在 IMAP 中创建一个文件夹(我正在使用 gmail)

这是我到目前为止的尝试:

public boolean createFolder(String folderName) throws MessagingException
{
store = session.getStore("imap");
System.out.println("connecting store..");
store.connect("imap.gmail.com", 993, "something@gmail.com", "password");
System.out.println("connected !");

//using store.getDefaultFolder(); shows error : "folder cannot contain messages"
Folder defaultFolder = store.getFolder("Inbox");

return createFolder(defaultFolder, folderName);
}

private boolean createFolder(Folder parent, String folderName)
{
boolean isCreated = true;

try
{
parent.open(Folder.READ_WRITE);
System.out.println("adding listeners...");
parent.addFolderListener(myMailFolderListener);
System.out.println("creating a folder ....");
Folder testFolder = parent.getFolder(folderName);

isCreated = testFolder.create(Folder.HOLDS_MESSAGES);
System.out.println("created: " + isCreated);
parent.close(true);
} catch (Exception e)
{
System.out.println("Error creating folder: " + e.getMessage());
isCreated = false;
}
return isCreated;
}

通过的文件夹名:“test 123”

输出:文件夹创建为 Inbox/test123

我应该在这一行做什么:文件夹 defaultFolder = store.getFolder("收件箱"); ??

我也在这里发布了同样的问题: http://www.coderanch.com/t/458722/Sockets-Internet-Protocols/java/creating-folders-IMAP-does-not

最佳答案

正确代码如下:

public boolean createFolder(String folderName) throws MessagingException   
{
store = session.getStore("imap");
System.out.println("connecting store..");
store.connect("imap.gmail.com", 993, "something@gmail.com", "password");
System.out.println("connected !");
Folder defaultFolder = store.getDefaultFolder();
return createFolder(defaultFolder, folderName);
}

/*
* Note that in Gmail folder hierarchy is not maintained.
* */
private boolean createFolder(Folder parent, String folderName)
{
boolean isCreated = true;

try
{
Folder newFolder = parent.getFolder(folderName);
isCreated = newFolder.create(Folder.HOLDS_MESSAGES);
System.out.println("created: " + isCreated);

} catch (Exception e)
{
System.out.println("Error creating folder: " + e.getMessage());
e.printStackTrace();
isCreated = false;
}
return isCreated;
}

关于java - 在 IMAP 中创建文件夹不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1292488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com