0
當我運行獲取命令UID FETCH 170930:170930 BODY[]
時,我收到了響應88924 FETCH (UID 170920 FLAGS (\Seen))
。我不希望檢索到UID超出指定範圍的消息。這是正常的IMAP行爲? 170930 UID來自於使用IdleManager觀看該文件夾的時刻,因此我沒有理由相信服務器上不存在具有該UID的消息。爲什麼Gmail會在UID FETCH命令指定的範圍之外返回一個UID?
我在這裏發佈的獲取請求是基於我用來執行它的Java代碼的猜測。至少,它應該仍然是範圍內只請求消息:
Argument args = new Argument();
args.writeString(Long.toString(start) + ":" + Long.toString(end));
args.writeString("BODY[]");
Response[] r = protocol.command("UID FETCH", args);
Response response = r[r.length - 1];
開始:和結束:是無效的語法。我很驚訝這個作品。 – Max
我已經更新了這個問題,我實際上是從一些Java代碼發出請求,所以我猜測原始輸出。 – LaserJesus
您可以打開[JavaMail會話調試](http://www.oracle.com/technetwork/java/javamail/faq/index.html#debug)併發布顯示此消息的調試輸出嗎? –