获取消息时没有[UNAVAILABLE] FETCH Server错误

时间:2013-09-19 06:34:39

标签: javamail fetch

之前有没有人遇到此例外?我无法弄清楚问题是什么。

javax.mail.MessagingException:A415在获取消息时没有[UNAVAILABLE] FETCH服务器错误;   嵌套异常是:     com.sun.mail.iap.CommandFailedException:A415在获取消息时没有[UNAVAILABLE] FETCH服务器错误     at com.sun.mail.imap.IMAPMessage.loadEnvelope(IMAPMessage.java:1268)     at com.sun.mail.imap.IMAPMessage.getReceivedDate(IMAPMessage.java:393)     在eu.memshare.modules.mail.UserMail $ 3.match( UserMail.java:805 )     在javax.mail.Message.match(Message.java:705)     在javax.mail.Folder.search(Folder.java:1270)     在com.sun.mail.imap.IMAPFolder.search(IMAPFolder.java:1918)     在javax.mail.Folder.search(Folder.java:1231)     在com.sun.mail.imap.IMAPFolder.search(IMAPFolder.java:1873)     在eu.memshare.modules.mail.UserMail.fetchMail( UserMail.java:823 )     在eu.memshare.modules.mail.UserMail.run( UserMail.java:772 ) 引起:com.sun.mail.iap.CommandFailedException:A415在获取消息时没有[UNAVAILABLE] FETCH服务器错误     在com.sun.mail.iap.Protocol.handleResult(Protocol.java:351)     at com.sun.mail.imap.IMAPMessage.loadEnvelope(IMAPMessage.java:1263)     ... 9更多

这是抛出异常的代码:

SearchTerm term = new SearchTerm() {
                            @Override
                            public boolean match(Message message) {
                                try {

                                    if(message.isExpunged()){
                                        inbox.expunge();
                                       return false;
                                    }else if(message.getFlags().contains(Flags.Flag.DELETED)) {
                                        return false;
                                    }

                                    long min = Math.min(System.currentTimeMillis(), lastQueryDate.getTime());
                                    Date when = new Date(min);
                                    Date receivedDate = message.getReceivedDate();
                                    boolean after = when.before(receivedDate);

                                    if (all) {
                                        return true;
                                    } else if (after) {
                                        lastQueryDate = receivedDate;
                                        return true;
                                    }
                                } catch (MessagingException e) {
                                    e.printStackTrace(); 
                                    return false;
                                }
                                return false;

                            }
                        };

1 个答案:

答案 0 :(得分:0)

这是来自您服务器的错误消息。您需要检查服务器日志文件或联系您的服务器供应商或提供商以找出问题所在。