Есть ли какие-либо предложения по решению этой проблемы?
У меня есть посты за 28 лет, по папке на каждый год, с mbox-файлом на каждый месяц. В mbox-файлах содержится 66909 сообщений. При импорте показано 65895. Объясняется ли разница в 1014 сообщение теми сбоями, которые указаны в выводе импорта?
Посты были конвертированы из Eudora mbx в стандартные mbox с помощью Aid4Mail.
По ошибке «Родительское сообщение не существует» я насчитал 421 случай.
По ошибке «Не удалось сопоставить пост» — 149 случаев.
Мой split_regex — “^From .@. [0-9]{4}”, что, как мне кажется, подходит для заголовков вроде:
На прошлой неделе я сталкивался с той же ошибкой, работая над другой проблемой. На этой неделе я займусь её исправлением и опубликую обновление здесь, как только всё будет готово.
Это просто предупреждения, и они, вероятно, возникают из-за ошибок «Не удалось сопоставить пост». Это происходит, когда сообщение ссылается на несуществующий пост. Я почти уверен, что исправление другой проблемы устранит большинство, если не все, эти предупреждения.
Вы можете посмотреть на файл index.db, который создаёт скрипт импорта. Это база данных SQLite3. Вы можете выполнить следующий запрос, чтобы увидеть, с чем работает парсер. Он выбирает сообщения для двух Message-ID, которые вы опубликовали.
SELECT *
FROM email
WHERE msg_id IN ('bbe76bf7a9cab5a2ec2a06e6ef453555', '23a86e52-71ba-7435-1c9c-c4f2a134b90d@mmtaylor.net')
Думаю, что столбцы email_date и raw_message будут для вас наиболее интересны. Возможно, вы сможете найти то, что сбивает с толку парсер электронной почты…
В первом случае дата равна null, и я вижу, что для этого сообщения в mbx нет даты. Я заметил, что ответ (с :Re) появляется перед «исходным» сообщением, поэтому я подумал, что дата не отсутствует. При импорте родительские сообщения берутся как первые в файле с этой темой?
Дата электронной почты берётся из строки «Date:», например?
Date: Wed, 25 Mar 1992 12:23:00 GMT
Я попробую исправить те, у которых отсутствует дата.
Нет, он использует заголовки In-Reply-To и References для сопоставления и сортировки по Message-ID, если вы не изменили настройку импортера group_messages_by_subject на true.
Да.
Мое предположение состоит в том, что проблема связана с одним из вложений. Возможно, расширение файла не разрешено?
Я установил настройку group_messages_by_subject в true, так как без неё группировка вообще отсутствовала.
В этом сообщении есть два встроенных изображения:
Content-Type: application/octet-stream;
name=“Conflict (was … long live Wil”
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename=“Conflict (was … long live Wil”
Да, это работает. Я делал так же в прошлом. Рекомендую установить index_only в true в файле settings.yml, чтобы импорт не начинался сразу после индексации сообщений. Все необходимые изменения в базе данных можно внести после завершения индексации. Затем снова установите index_only в false и перезапустите импорт.
Кажется, я что-то неправильно понимаю. Разве индексация уже не была выполнена, раз файл index.db уже создан?
Я перенёс файл index.db на свой компьютер. Я собирался обновить даты, затем вернуть index.db на сервер и снова запустить импорт. Разве это неправильно?
Я решил пойти по пути редактирования файлов mbox, добавив строку «Date», например: «Date: Wed, 25 Mar 1992 17:43:06». Я передал обновлённые файлы и дважды перезапустил импорт. Однако поле email_date не было обновлено.