【问题标题】:Why is JavaMail not listing the emails even though mails are present in the mailbox?为什么即使邮箱中有邮件,JavaMail 也不列出邮件?
【发布时间】:2023-03-14 11:36:02
【问题描述】:

我正在使用 JavaMail API 1.5.3 版本从使用 IMAP 的邮箱中获取电子邮件。

邮箱中有近 500 多封电子邮件,但 JavaMail API 没有列出任何一封。我配置了一个 Outlook 客户端,并在那里正确下载了电子邮件。

以下是调试跟踪:

 DEBUG: JavaMail version 1.5.3
 DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
 DEBUG: Tables of loaded providers
 DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]}

 DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]}

 DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
 DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle]
 DEBUG IMAP: mail.imap.fetchsize: 16384



 DEBUG IMAP: mail.imap.ignorebodystructuresize: false
 DEBUG IMAP: mail.imap.statuscachetimeout: 1000
 DEBUG IMAP: mail.imap.appendbuffersize: -1

 DEBUG IMAP: mail.imap.minidletime: 10

 DEBUG IMAP: closeFoldersOnStoreFailure

 DEBUG: setDebug: JavaMail version 1.5.3

 DEBUG IMAP: trying to connect to host "< mail server nane >", port 993, isSSL true

 * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN SASL-IR] server ready

 DEBUG IMAP: AUTH: PLAIN

 DEBUG IMAP: protocolConnect login, host=<mail server name>, user=<username>, password=<non-null>

 DEBUG IMAP: AUTHENTICATE PLAIN command trace suppressed

 DEBUG IMAP: AUTHENTICATE PLAIN command result: A0 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE LIST-EXTENDED WITHIN QRESYNC SCAN XLIST URLAUTH URLAUTH=BINARY X-NETSCAPE LOGINDISABLED COMPRESS=DEFLATE IDLE] Success (tls protection) SESSIONID=<netserv-28720-1540905648-1>


 DEBUG IMAP: connection available -- size: 1

 A1 SELECT INBOX

 * 0 EXISTS

 * 0 RECENT

 * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)

 * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] Ok

 * OK [UIDVALIDITY 1519903897] Ok

 * OK [UIDNEXT 274] Ok

 * OK [HIGHESTMODSEQ 437] Ok

 * OK [URLMECH INTERNAL] Ok

 A1 OK [READ-WRITE] Completed

 A2 SEARCH UNSEEN ALL

 * SEARCH

 A2 OK Completed (0 msgs in 0.000 secs)


 A3 SEARCH UNSEEN ALL

 * SEARCH

 A3 OK Completed (0 msgs in 0.000 secs)

 A4 CLOSE

 A4 OK Completed

 DEBUG IMAP: added an Authenticated connection -- size: 1

 DEBUG IMAP: IMAPProtocol noop

 A5 NOOP

 A5 OK Completed

 A6 LOGOUT

 * BYE LOGOUT received

 A6 OK Completed

 DEBUG IMAP: IMAPStore connection dead

 DEBUG IMAP: IMAPStore cleanup, force false

 DEBUG IMAP: IMAPStore cleanup done

有人能指出可能是什么问题吗?

【问题讨论】:

  • 邮件实际上是在收件箱中,而不是在其他文件夹中吗?
  • 没有专门配置的其他文件夹,据我所知,它不存在于任何其他文件夹中。

标签: java jakarta-mail imap


【解决方案1】:

这几乎毫不含糊地说服务器说服务器在收件箱中没有消息:

A1 SELECT INBOX
* 0 EXISTS
* 0 RECENT

它们要么在另一个文件夹中,要么在另一个帐户中。

【讨论】:

  • 我希望阅读来自此帐户本身的电子邮件。有没有其他方法或命令可以帮助我确定这些电子邮件存在于哪个文件夹中?
  • 好吧,你可以运行 LIST 来查看存在哪些文件夹。你可以一一选择,看看哪一个有消息。
  • 我在所有文件夹上运行了 LIST 并且没有邮件。如何检查我发送的邮件的到达位置?
  • 您的 IMAP 服务器是否设置不正确?当你使用 Outlook 时,你是使用 IMAP 来集成它,还是它是一个交换服务器?如果是交换,请尝试不同的 IMAP 客户端,我想您不会看到任何消息。
猜你喜欢
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 2023-02-13
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 2019-07-20
相关资源
最近更新 更多