JavaMail-getMessageCount在打开imap文件夹后发生更改?

JavaMail-getMessageCount在打开imap文件夹后发生更改?,java,jakarta-mail,imap,Java,Jakarta Mail,Imap,我正在写一个程序,连接到gmail并检查收件箱中的邮件数量。如果我在未打开的文件夹上调用getMessageCount(),它返回554,但打开后返回541。为什么不同 顺便说一下,我最终会尝试检查已删除的邮件(尚未删除)并在可能的情况下恢复它们 编辑:一些示例代码: Session session = Session.getDefaultInstance(System.getProperties()); Store store = session.getStore("imaps"); stor

我正在写一个程序,连接到gmail并检查收件箱中的邮件数量。如果我在未打开的
文件夹
上调用
getMessageCount()
,它返回554,但打开后返回541。为什么不同

顺便说一下,我最终会尝试检查已删除的邮件(尚未删除)并在可能的情况下恢复它们

编辑:一些示例代码:

Session session = Session.getDefaultInstance(System.getProperties());
Store store = session.getStore("imaps");
store.connect("imap.googlemail.com", 993, email, password);
Folder inbox = store.getFolder("INBOX");
System.out.println(inbox.getMessageCount());
inbox.open(Folder.READ_ONLY);
System.out.println(inbox.getMessageCount());
编辑:协议跟踪:

(与此同时,我收到了更多的电子邮件,因此数字与上面的不同)

DEBUG:setDebug:JavaMail版本1.5.2
调试:getProvider()返回javax.mail.Provider[STORE,imaps,com.sun.mail.imap.imapssltore,Oracle]
调试IMAPS:mail.imap.fetchsize:16384
调试IMAPS:mail.imap.ignorebodystructuresize:false
调试IMAPS:mail.imap.statuscachetimeout:1000
调试IMAPS:mail.imap.appendbuffersize:-1
调试IMAPS:mail.imap.minidletime:10
调试IMAPS:尝试连接到主机“imap.googlemail.com”,端口993,isSSL true
*OK Gimap准备好接收vt17mb17567619iec的请求
A0能力
*功能IMAP4rev1取消选择空闲命名空间配额ID XLIST子项X-GM-EXT-1 XYZZY SASL-IR AUTH=XOATH AUTH=XOATUH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN
好的,她就写这些!vt17mb17567619iec
调试IMAPS:AUTH:XOAUTH
调试IMAPS:AUTH:XOAUTH2
调试IMAPS:AUTH:PLAIN
调试IMAPS:AUTH:PLAIN-CLIENTTOKEN
调试IMAPS:protocolConnect登录,主机=imap.googlemail.com,用户=,密码=
调试IMAPS:取消验证普通命令跟踪
调试IMAPS:验证普通命令结果:A1 OK authenticated(成功)
A2能力
*功能IMAP4rev1取消选择空闲命名空间配额ID XLIST子项X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT
A2 OK成功
A3列表“”收件箱
*列表(\HasChildren)“/”收件箱
A3 OK成功
A4状态收件箱(最近未看到的邮件UIDNEXT UIDVality)
*状态为“收件箱”(邮件585最近0 UIDNEXT 3389 UIDVALIDITY 2未查看0)
A4 OK成功
585
调试IMAPS:连接可用--大小:1
A5检查收件箱
*标志(\Answered\Flagged\Draft\Deleted\Seen$Phishing$转发的非垃圾邮件$NotPhishing垃圾邮件)
*允许使用OK[PERMANENTFLAGS()]标志。
*确定[UID有效性2]UID有效。
*548存在
*0最近
*正常[UIDNEXT 3389]预测下一个UID。
*正常[最高ModSeq 687472]
A5已选择OK[只读]收件箱。(成功)
548

Javamail允许您进行协议跟踪吗?。你可能不得不问谷歌,为什么服务器在不同的情况下返回不同的数字。无法使用imaps协议复制(你使用gimap吗?@salyh否,事实上我还没有听说过gimapcan You please do session.setDebug(true);然后发布协议跟踪?
DEBUG: setDebug: JavaMail version 1.5.2
DEBUG: getProvider() returning javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle]
DEBUG IMAPS: mail.imap.fetchsize: 16384
DEBUG IMAPS: mail.imap.ignorebodystructuresize: false
DEBUG IMAPS: mail.imap.statuscachetimeout: 1000
DEBUG IMAPS: mail.imap.appendbuffersize: -1
DEBUG IMAPS: mail.imap.minidletime: 10
DEBUG IMAPS: trying to connect to host "imap.googlemail.com", port 993, isSSL true
* OK Gimap ready for requests from <ip> vt17mb17567619iec
A0 CAPABILITY
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN
A0 OK Thats all she wrote! vt17mb17567619iec
DEBUG IMAPS: AUTH: XOAUTH
DEBUG IMAPS: AUTH: XOAUTH2
DEBUG IMAPS: AUTH: PLAIN
DEBUG IMAPS: AUTH: PLAIN-CLIENTTOKEN
DEBUG IMAPS: protocolConnect login, host=imap.googlemail.com, user=<email>, password=<non-null>
DEBUG IMAPS: AUTHENTICATE PLAIN command trace suppressed
DEBUG IMAPS: AUTHENTICATE PLAIN command result: A1 OK <email> authenticated (Success)
A2 CAPABILITY
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT
A2 OK Success
A3 LIST "" INBOX
* LIST (\HasChildren) "/" "INBOX"
A3 OK Success
A4 STATUS INBOX (MESSAGES RECENT UNSEEN UIDNEXT UIDVALIDITY)
* STATUS "INBOX" (MESSAGES 585 RECENT 0 UIDNEXT 3389 UIDVALIDITY 2 UNSEEN 0)
A4 OK Success
585
DEBUG IMAPS: connection available -- size: 1
A5 EXAMINE INBOX
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Phishing $Forwarded NonJunk $NotPhishing Junk)
* OK [PERMANENTFLAGS ()] Flags permitted.
* OK [UIDVALIDITY 2] UIDs valid.
* 548 EXISTS
* 0 RECENT
* OK [UIDNEXT 3389] Predicted next UID.
* OK [HIGHESTMODSEQ 687472]
A5 OK [READ-ONLY] INBOX selected. (Success)
548