java邮件api,imap文件夹UIDNEXT始终为-1

java邮件api,imap文件夹UIDNEXT始终为-1,java,email,imap,uid,Java,Email,Imap,Uid,您好,我使用JavaAPI从imap文件夹获取邮件,我可以获取标题等,但UIDNEXT始终为-1,但下一封邮件的值类似于100 所有邮件服务器都不支持UIDNEXT吗 UIDFolder ufolder = (UIDFolder) folder; folder.open(Folder.READ_WRITE); IMAPFolder iFolder = (IMAPFolder) folder; int totalMessages = iFolder.getMessageCount(); int

您好,我使用JavaAPI从imap文件夹获取邮件,我可以获取标题等,但UIDNEXT始终为-1,但下一封邮件的值类似于100

所有邮件服务器都不支持UIDNEXT吗

UIDFolder ufolder = (UIDFolder) folder;
folder.open(Folder.READ_WRITE);
IMAPFolder iFolder = (IMAPFolder) folder;

int totalMessages = iFolder.getMessageCount();
int unreadMessages = iFolder.getUnreadMessageCount();
int newMessages = iFolder.getNewMessageCount();
int deletedMessages = iFolder.getDeletedMessageCount();
boolean bNew = iFolder.hasNewMessages();
long uidnext = iFolder.getUIDNext();

我得到了UIDNEXT以外的其他参数的正确值,但UIDNEXT总是返回-1?

查看位于的文档,这取决于您的服务器:

打开文件夹时,实现RFC2060的服务器可能不会返回此值。打开文件夹时,实现RFC3501的服务器应返回此值


在调用getUIDNext()之前,请尝试关闭文件夹。

UIDNEXT普遍受支持。我不记得上次我看到有人不支持它了。Courier IMAP服务器在打开时不会返回uidnext。并非所有电子邮件服务器都实现uidnext。(我有)