В чем разница между этими двумя аспектами java-почты? Я вижу, что 2 значения не одинаковы для конкретного сообщения. Итак, что я должен считать уникальным идентификатором сообщения IMAP?В чем разница между IMAPMessage.getUID() и заголовком Message-ID?
Если мне нужно получить сообщение с сервера IMAP, соответствующего уникальному идентификатору, следует ли использовать?
MessageIDTerm
или
IMAPFolder.getMessageByUID()
Это также намного быстрее запросить UIDs: он является родным индекс сервера. Поиск заголовка Message-ID может перерасти в текстовый поиск всех электронных писем. – Max
true @Max, если вы ищете заголовок Message-Id, он должен будет получить заголовки каждого электронного письма и выполнить поиск внутри него. Его проклятие медленное и может загрузить сервер, если у вас много писем в папке. –
Сообщения UID в папке могут быть изменены, если почтовый сервер перезагружен, обновлен или в некоторых случаях. Чтобы обнаружить проблему, необходимо проверить UIDVALIDTY папок. Если вы переместите сообщение между папками, значения UID будут изменены, тогда как MessageID будет сохранен. – benchpresser