我使用JavaMail和协议imap来组织电子邮件(gmail)。 我创建了一个文件夹FOLDER1,代码为:
Folder newFolder = parent.getFolder(folderName);
if (!newFolder.exists())
isCreated = newFolder.create(Folder.HOLDS_MESSAGES);
我使用代码移动邮件:
Folder f = store.getFolder(folderName);
Message[] msgs = { msg };
f.appendMessages(msgs);
它有效
但我不明白...当我想再次阅读邮件而不是已经阅读的邮件而不是已经创建的文件夹时它不起作用。 该名称已经是INBOX
String folderName = message.getFolder().getName();// INBOX!! and not FOLDER1
String fullName = message.getFolder().getFullName();// INBOX!! and not INBOX/FOLDER1
有什么问题?
感谢您的帮助
答案 0 :(得分:0)
Message对象的内容会附加到其他文件夹。 Message对象本身继续引用原始文件夹中的消息。要在其他文件夹中查找邮件的副本,您需要打开另一个文件夹并搜索它
使用IMAPFolder.copyUIDMessages方法,您可以在另一个文件夹中获取邮件的UID,然后打开另一个文件夹并使用UIDFolder.getMessageByUID方法获取表示其他文件夹中邮件的Message对象。 (IMAP Folder对象始终实现UIDFolder接口。)