Java 如何摆脱';无法加载IMAP信封';消息传递异常?

Java 如何摆脱';无法加载IMAP信封';消息传递异常?,java,jakarta-mail,imap,Java,Jakarta Mail,Imap,我试图通过Message msg[]=folder.getMessages()获取电子邮件列表。在这之后,我得到了每条消息的详细信息,同时我得到了一些消息的javax.mail.MessaginException:Failed to load IMAP envelope异常 这是产生错误的一条消息的协议跟踪- A7 FETCH 2 (ENVELOPE INTERNALDATE RFC822.SIZE) * 2 FETCH (RFC822.SIZE 2567 INTERNALDATE "29-Ap

我试图通过
Message msg[]=folder.getMessages()获取电子邮件列表。在这之后,我得到了每条消息的详细信息,同时我得到了一些消息的
javax.mail.MessaginException:Failed to load IMAP envelope
异常

这是产生错误的一条消息的协议跟踪-

A7 FETCH 2 (ENVELOPE INTERNALDATE RFC822.SIZE)
* 2 FETCH (RFC822.SIZE 2567 INTERNALDATE "29-Apr-2011 13:49:01 +0000" ENVELOPE ("Fri, 29 Apr 2011 19:19:01 +0530" "I NEES YOUR ASSISANCE?????" (("Mr Leung Cheung" NIL "info" "milium.com.br")) (("Mr Leung Cheung" NIL "info" "milium.com.br")) ((NIL NIL "mr.leung_cheung" "live.hk")) () NIL NIL NIL "<20110429134718.70333732030A@mail2.milium.com.br>"))
A7 OK FETCH Completed
我正在使用JavaMail-1.5

如何解决此错误,是否有任何方法或设置可以解决此问题并在不跳过该消息的情况下获取消息的详细信息

谢谢


尼拉姆·夏尔马

你的服务器坏了。请向服务器供应商报告此错误。你用的是什么服务器

在响应中,消息的“To”值必须符合规范中定义的语法:

env-to      = "(" 1*address ")" / nil
address     = "(" addr-name SP addr-adl SP addr-mailbox SP addr-host ")"
相反,服务器返回了“()”。如果没有To头,它应该返回“NIL”


您可以使用中描述的技术解决服务器错误。

谢谢比尔,我正在使用IMAP服务器获取雅虎帐户的消息。使用在提供的选项-解决获取消息内容的问题。但是,我如何才能获得一条使用在中提到的搜索词抛出“加载IMAP信封失败”的消息?这是否可能通过MessageID获得该消息?有没有其他方法可以通过MessageID获取此类消息?使用HeaderTerm而不是MessageIDTerm,并检查消息ID标头。再次感谢,但我无法通过SearchTerm SearchTerm=new HeaderTerm(“消息ID”,strMessageID)获取消息;Message[]foundMessages=folder.search(searchTerm);虽然我的消息包含名为“消息ID”的标题。此搜索返回零消息。我为雅虎IMAP服务器工作。如何获取消息?使用message.match(searchTerm)。它将要求服务器提供标题,并在本地进行比较,而不是要求服务器进行搜索。感谢Bill的帮助,您能否建议一种更适合获取消息(如果我有消息id)的方法,方法是先获取消息数组,然后执行message.match(headerTerm)在我的回复中提到的每一条消息或搜索词上-
env-to      = "(" 1*address ")" / nil
address     = "(" addr-name SP addr-adl SP addr-mailbox SP addr-host ")"