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

时间:2013-10-01 09:27:29

标签: java javamail imap

我想通过Message msg[] = folder.getMessages();获取电子邮件列表。之后我得到了每条消息的详细信息,同时我收到了javax.mail.MessagingException: 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

错误的Stacktrace是 -

Failed to load IMAP envelope stacktrace: javax.mail.MessagingException: Failed to load IMAP envelope
    at com.sun.mail.imap.IMAPMessage.loadEnvelope(IMAPMessage.java:1276)
    at com.sun.mail.imap.IMAPMessage.getSentDate(IMAPMessage.java:377)
    at com.my.main.model.TestMail.showAllMails(TestMail.java:95)
    at com.my.main.model.TestMail.main(TestMail.java:45)

我正在使用JavaMail-1.5。

如何解决此错误,有没有办法或设置来解决它并获取消息的详细信息而不跳过该消息?

谢谢,

Neelam Sharma

1 个答案:

答案 0 :(得分:2)

您的服务器坏了。请将此错误报告给服务器供应商。你在用什么服务器?

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

env-to      = "(" 1*address ")" / nil
address     = "(" addr-name SP addr-adl SP addr-mailbox SP addr-host ")"

相反,服务器返回“()”。如果没有To标题,它应该返回“NIL”。

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