Java библиотека для группировки писем вместе по теме? - PullRequest
5 голосов
/ 25 февраля 2010

Существует ли библиотека Java, которая может принять электронное письмо, сравнить его с базой данных электронных писем и найти другие электронные письма, которые могут быть из той же «цепочки» электронных писем, что и списки рассылки?

Ответы [ 3 ]

7 голосов
/ 25 февраля 2010

Вероятно, нет библиотек, о которых я знаю, но вы можете сделать это, посмотрев значения заголовков в письме. Есть несколько заголовков в электронных письмах, которые помещаются туда, когда кто-то отвечает на сообщения. Здесь обсуждаются заголовки.

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»?

2 голосов
/ 25 февраля 2010

На самом деле я исправлен, возможно, есть реализация алгоритма, который вы можете использовать. Зависит от того, какой API вы используете для чтения вашей электронной почты.

http://www.jwz.org/doc/threading.html

Здесь описан алгоритм, который вы могли бы использовать для восстановления потоков. Электронная почта сложна, и многие клиенты не внедряют стандарты должным образом, поэтому это становится проблемой.

1 голос
/ 27 февраля 2010

Кроме того, поиск в Google по запросу "threading", а не "thread" гораздо более продуктивен. Я только что нашел

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...