Существует ли библиотека Java, которая может взять электронное письмо, сравнить его с базой данных электронных писем и найти другие электронные письма, которые могли бы быть от того же "потока" электронных писем, подобных спискам рассылки?
На самом деле, я исправлюсь, может быть реализация алгоритма, который вы можете использовать. Зависит от того, какой API вы используете для чтения электронной почты.
http://www.jwz.org/doc/threading.html
Здесь описывается алгоритм, который можно использовать для восстановления потоков. Электронная почта - дело сложное, и многие клиенты не реализуют стандарты должным образом, поэтому это становится проблемой.
Кстати, поиск в Google по запросу "threading", а не "thread" намного более продуктивен. Я только что нашел
{{ 1}}Скорее всего, я не знаю библиотек, но вы можете сделать это, посмотрев значения заголовков в электронном письме. В электронных письмах есть несколько заголовков, которые помещаются туда, когда кто-то отвечает на сообщения. Вот обсуждаемые заголовки.
Message-ID Каждое электронное письмо содержит заголовок Message-ID, который представляет собой глобально уникальную строку нежелательной почты. Иногда это GUID, но чаще всего это комбинация GUID + домена. Формат не имеет значения, это просто уникальная строка.
In-Reply-To In-Reply-To содержит значение идентификатора сообщения, на которое это электронное письмо является ответом.
Ссылки Может содержать список идентификаторов сообщений всех сообщений в цепочке от текущего сообщения до начала цепочки. Если поток очень длинный, этот список может быть сокращен посередине, но первое и последнее сообщение должны присутствовать всегда. (Старое почтовое программное обеспечение использует это поле для идентификации других сообщений, к которым относятся текущие сообщения.)
Outlook использует Thread-Index, в котором будут переноситься все электронные письма, не входящие в один поток.
Вы можете добраться до этих заголовков, используя старую добрую JavaMail, поэтому восстановить потоки таким способом не составит большого труда. К сожалению, нет стандартного заголовка, такого как Thread-Index
http://people.dsv.su.se/~jpalme/ietf/message-threading.html
Сообщение StackoverFlow на Thread-index
Как работает поле заголовка электронного письма "thread-index"?