МОЙ подход -
Получить полный список рассылки -
List<Message> totalMessageList = Arrays
.asList(folder.getMessages());
Создайте список из этого, который имеет только непрочитанные письма. (Мне пришлось сделать это, потому что я не смог найти какой-либо прямой API для получения списка новых писем. Один вопрос, который помог выяснить, является ли сообщение непрочитанным или нет, был опубликован здесь )
List<Message> unreadMessageList = new ArrayList<Message>();
Ради краткости я не опубликовал всю логику построения списка непрочитанных писем из списка общих писем.
Перебирать список непрочитанных писем> Проверить, есть ли у какого-либо письма желаемая тема, затем прочитать содержимое письма> Если такого письма не найдено, бросить IllegalStateExcepton
Теперь мой вопрос - могу ли я улучшить этот подход?