Почему цепочки приходится восстанавливать
Почтовый ящик — это плоская куча писем. Структура переписки живёт в двух заголовках: In-Reply-To называет письмо, на которое отвечают, а References несёт всю цепочку до корня. Ваш почтовый клиент заново строит дерево по ним каждый раз, когда показывает переписку. Как только письма выгружены в файлы, эту работу приходится делать заново — и большинство программ, открывающих выгрузку, просто её не делают.
Алгоритм
Здесь используется алгоритм построения цепочек Джейми Завински, написанный для Netscape Mail в 1997 году и до сих пор остающийся правильным ответом. По одному контейнеру на Message-ID; каждое письмо подвешивается под цепочку, названную в его References; пустые контейнеры отсекаются; и только затем — по желанию — включается запасное сопоставление по темам.
Сопоставление по теме и почему это выбор
Некоторые клиенты вырезают References, когда пользователь отвечает с телефона или из веб-почты, переписывающей заголовки. Такие ответы приходят без единой зацепки, и сравнение тем — единственный способ их вернуть. Но иногда оно же склеивает два никак не связанных письма с общей дежурной темой: двенадцать отдельных цепочек «Re: встреча» превращаются в одну.
Поэтому это переключатель, включённый по умолчанию, а рядом с результатом показано, сколько корней он поглотил. Если число велико, а цепочки выглядят неправильно, отключите его и сравните. Сопоставление склеивает только тот корень, который похож на ответ: два не-ответа с одинаковой темой остаются раздельными, потому что гораздо чаще это два разных объявления, а не одна переписка.
Пропавшие письма показываются
Когда все ответы в цепочке ссылаются на письмо, которого нет в переданных файлах, алгоритм создаёт контейнер без письма. Это настоящий результат: он рисуется как пропуск в дереве с указанием Message-ID, а не прячется. Спрятать его — значит молча перевесить его ответы выше и сделать цепочку мельче, чем она была.
Форматы
EML, Outlook MSG и архивы MBOX в любом сочетании, причём формат определяется по байтам, а не по имени файла. MBOX перечисляется только по заголовкам, поэтому большой архив рассылки разбирается заметно быстрее секунды; полное письмо читается лишь тогда, когда вы его открываете.
Конфиденциальность
Всё выполняется в браузере. Ни один файл не отправляется, сетевых запросов нет.
Tiny Online Tools







