Это старая версия документа!
После того, как электронные письма, подлежащие импорту, будут скопированы во входящие сообщения Benno MailArchiv, как здесь , они считываются демоном архива Benno. Это включает в себя анализ заголовков и вычисление контрольной суммы электронного письма. Затем контрольная сумма используется для определения имени файла, под которым будет сохранено электронное письмо.
Теперь электронное письмо хранится в каталоге репозитория по адресу /srv/benno/archive/boxname . В стандартной установке имя ящика всегда соответствует текущему году.
Если во время обработки электронной почты возникает ошибка, она перехватывается внутри системы и регистрируется. Электронное письмо, подлежащее импорту из папки «Входящие», переименовывается и получает расширение .err . После прочтения импортируемое письмо сохраняется непосредственно в репозиторий. Поэтому к моменту обнаружения ошибки ошибочное письмо обычно уже хранится в репозитории. Из соображений безопасности Benno MailArchiv не может удалить электронное письмо из репозитория, поэтому в случае ошибки письмо обычно сохраняется дважды.
После сохранения электронного письма в репозитории из него и его вложений извлекается текст, пригодный для поиска. Этот анализ выполняется с помощью библиотеки Apache Tika . Tika предоставляет только высокоуровневый интерфейс для анализа электронных писем. Всё письмо передаётся в Tika через этот интерфейс. Затем Tika передаёт поток токенов, который индексируется в Apache Lucene . В случае повреждения вложений в электронном письме Apache Tika полностью прерывает извлечение текста и возвращает ошибку. Benno MailArchiv обнаруживает проблему и переименовывает письмо в папке «Входящие» в .err, гарантируя, что письмо не будет потеряно, а проблема будет чётко задокументирована.
Начиная с версии 2.1.0 Benno MailArchiv, интеграция с Apache Tika стала более надежной. Теперь, прежде чем Apache Tika начнет анализ электронного письма, оно разбивается на компоненты (тело письма и отдельные вложения). Затем эти части анализируются Apache Tika по отдельности. Если обнаруживается некорректное вложение, это записывается в файл журнала, и следующее вложение индексируется. Это гарантирует, что индексируется максимально возможная часть электронного письма, что делает его доступным для поиска.
Начиная с версии Benno MailArchiv 2.1.6, ошибочные электронные письма можно повторно импортировать, просто переместив их обратно в папку «Входящие». В процессе импорта архиватор проверяет, существует ли контрольная сумма уже в репозитории. Если да, то соответствующая запись в индексе заменяется новыми импортированными данными.
Если расширение файла будет изменено на .eml, электронные письма будут импортированы повторно.