Javamail A5 Bad Command

时间:2013-03-22 18:11:37

标签: java javamail

我在巴西主机(uol.com.br)的服务器上有一个邮件帐户。这个测试帐户在收件箱中有7.000条消息。当我通过java mail和setDebug(true)连接时,消息不会返回并显示此消息:

03-22 14:44:07.305: I/System.out(5524): A1 OK User logged in
03-22 14:44:07.320: I/System.out(5524): A2 CAPABILITY
03-22 14:44:07.435: I/System.out(5524): * CAPABILITY IMAP4 IMAP4rev1 QUOTA UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT
03-22 14:44:07.435: I/System.out(5524): A2 OK Completed
03-22 14:44:07.500: I/System.out(5524): A3 LIST "" "%"
03-22 14:44:07.835: I/System.out(5524): * LIST (\HasNoChildren) "." "INBOX"
03-22 14:44:07.850: I/System.out(5524): * LIST (\HasNoChildren) "." "Quarentena"
03-22 14:44:07.870: I/System.out(5524): * LIST (\HasNoChildren) "." "Drafts"
03-22 14:44:07.885: I/System.out(5524): * LIST (\HasNoChildren) "." "Sent Messages"
03-22 14:44:07.925: I/System.out(5524): * LIST (\HasNoChildren) "." "Deleted Messages"
03-22 14:44:07.950: I/System.out(5524): A3 OK Completed (0.000 secs 6 calls)
03-22 14:44:07.990: I/System.out(5524): DEBUG: connection available -- size: 1
03-22 14:44:07.995: I/System.out(5524): A4 SELECT INBOX
03-22 14:44:08.130: I/System.out(5524): * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
03-22 14:44:08.145: I/System.out(5524): * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)]  
03-22 14:44:08.160: I/System.out(5524): * 7245 EXISTS
03-22 14:44:08.170: I/System.out(5524): * 1 RECENT
03-22 14:44:08.180: I/System.out(5524): * OK [UNSEEN 7243]  
03-22 14:44:08.190: I/System.out(5524): * OK [UIDVALIDITY 1208433603]  
03-22 14:44:08.235: I/System.out(5524): * OK [UIDNEXT 10125]  
03-22 14:44:08.235: I/System.out(5524): A4 OK [READ-WRITE] Completed
03-22 14:44:21.555: I/System.out(5524): A5 SEARCH UNSEEN ALL
03-22 14:44:23.910: I/System.out(5524): A5 BAD Unsupported command.

这是设置标志的代码的一部分。在gmail中,此代码适用于收件箱文件夹中的100条消息

public Message[] getInboxMessages() {
        Message[] messages = null;
        try {

            Flags f1 = new Flags(Flags.Flag.SEEN);
            FlagTerm notseen = new FlagTerm(f1, false);

            messages = mInboxFolder.search(notseen);            

        } catch (NoSuchProviderException e) {
            Log.w(TAG, e.getMessage());

        } catch (MessagingException e) {
            Log.w(TAG, e.getMessage());
        }
        return messages;
    }

1 个答案:

答案 0 :(得分:3)

服务器坏了。它似乎没有正确支持IMAP协议。将错误报告给服务器供应商。

如果您需要解决服务器错误,则需要避免使用该“搜索”命令。您可以获取所有消息,只需跳过标记为SEEN的消息。