2013-03-22 118 views
1

我在巴西主機(uol.com.br)的服務器上有一個郵件帳戶。這個測試帳戶在收件箱中有7.000條消息。當我用Java郵件和setDebug(真)連接,郵件不回,並顯示如下消息:Javamail A5 Bad命令

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; 
    } 
+0

你可以發佈你的代碼嗎? – Todd 2013-03-22 18:15:34

+0

託德我編輯部分代碼的問題。這個相同的代碼在收件箱中有100封郵件的Gmail帳戶中完美工作。 – Mateus 2013-03-22 18:38:05

+0

A5不是命令,它基本上是IMAP協議的請求標識符。也許你連接的服務器不支持SEARCH UNSEEN ALL命令。 – joev 2013-03-22 18:45:38

回答

3

服務器已損壞。它似乎沒有正確支持IMAP協議。將錯誤報告給服務器供應商。

如果您需要解決服務器錯誤,則需要避免使用該「搜索」命令。你可以得到所有的信息,只是跳過那些被標記爲SEEN的信息。