javamail и gmail - PullRequest
       13

javamail и gmail

4 голосов
/ 23 июня 2011
  1. Следующий код выдает исключение IndexOutOfBoundsException.Есть идеи почему?

     Folder folder = store.getDefaultFolder();
     folder = folder.getFolder("INBOX");
    
     int totalMessages = folder.getMessageCount();
     //totalMessages is 17000
    
      folder.getMessages(16900, 16999)   --- here I am trying to get the NEWEST 99                                                                                         messages.
    

Этот код выбрасывает исключение indexoutofbounds, хотя существует очень много писем.Что я делаю не так?

  1. folder.getMessages () - получать все письма от 1-го до последнего.В моем случае 17000!Как мне получить электронные письма, начиная с самых новых до самых старых?Я хочу видеть только последние электронные письма - около 100 из них.Возможно ли это?

Ответы [ 2 ]

5 голосов
/ 23 июня 2011

Никогда не используйте магические значения в коде, это только причинит вам боль. Попробуйте:

int messagesToDisplay = 100;
folder.getMessages(totalMessages  - messagesToDisplay , totalMessages);

Начиная с JavaDoc сообщения идентифицируются массивом на основе 1, а не 0.

Можете ли вы также добавить трассировку стека, пожалуйста.

0 голосов
/ 12 июля 2011

, пожалуйста, сначала откройте папку в режиме чтения или чтения-записи.

folder.open(Folder.READ_WRITE);
...