Я хочу получить доступ к нескольким гигабайтам старой почты, которые у меня есть в архивной копии файлов виртуального почтового ящика почтового сервера dovecot. Я думаю, что это старая версия формата mdbox dovecot? Сервер был построен в 2008 году, а архив взят в 2011 году. Я предполагаю, что это может быть mdbox 1.1.
Я ищу предложения о том, как довести эту почту до такого состояния, чтобы ее можно было просматривать с помощью Thunderbird.
Было бы здорово, если бы я мог запустить старую версию dovecot для обслуживания этой почты через IMAP, возможно, в контейнере docker. ИЛИ, может быть, более новые версии dovecot могут распознавать старый формат? Может быть, какой-то инструмент преобразования?
Любая помощь в определении формата/версии будет очень признательна. Мои файлы выглядят так:
domain/
username/
dovecot.index
dovecot.index.cache
dovecot.index.log
dovecot.index.log.2
dovecot-keywords
dovecot-uidlist
maildirsize
subscriptions
cur/
1314076009.V55I369181M295175.mail.exmaple.com:2,STa
new/
tmp/
.folder/
dovecot.index
dovecot.index.cache
dovecot.index.log
dovecot-keywords
dovecot-uidlist
cur
new
tmp
.folder.subfolder/
dovecot.index
dovecot.index.cache
dovecot.index.log
dovecot-uidlist
cur
new
tmp
Конечно, папок и почтовых файлов больше, с флагами в именах файлов, как в том, который приведен в качестве примера.
решение1
Вы хотите использовать Dovecotimapd, чтобы иметь возможность копировать метаданные. Нет необходимости развертывать старую версию, текущая версия (или последняя, поддерживаемая вашим любимым дистрибутивом) будет прекрасно работать со старыми резервными копиями.
Ваша резервная копия представляет собой копию формата на уровне файлов Maildir++
с некоторымиГолубятня-специфическая метаинформация. Каждый файл в каталогах // cur
содержит один необработанный (new
tmp
Формат интернет-сообщения, см. RFC5322) mail. Вызванные файлы index
— это просто кэши для более быстрого поиска, uidlist
и keywords
содержат информацию, которую нельзя найти в другом месте.
Даже если вы не заинтересованы в сохранении исходных сопоставлений UID (в основном это интересно, если вы хотите избежать загрузки файлов, уже кэшированных в клиенте, который был подключен во время резервного копирования), есть еще одна вещь, которая не содержится в реальных почтовых файлах и именах файлов, которые вы, вероятно, захотите восстановить: сопоставление пользовательских флагов IMAP с их именами. Это сопоставление содержится в файле dovecot-keywords
и сообщает почтовому серверу, какая из строчных букв, прикрепленных к имени файла после запятой ( a..z
), означает какое ключевое слово ( $Forwarded
, Charity
, Junk
, ..)
Если вы хотите, чтобы каждый пользователь имел доступ к определенным резервным копиям, вам также понадобится полноценная конфигурация с базой данных пользователей. Если вам просто нужно подключиться ко всему с помощью вашего клиента IMAP и использовать его для копирования того, что вам нужно, вы, вероятно, захотите настроить экземпляр Dovecot, где все пользователи одновременно видны в namespace
s, каждый с mail_location=maildir:/domain/username
указанием Maildir++
макета (в отличие от макета fs
, где подпапки рекурсивно расположены, а не разделенные точками пути).
Шаги, примерно:
- установите dovecot-imapd, в идеале на сервере, на котором такой сервер еще не запущен, чтобы упростить разделение операций резервного копирования и восстановления и другой почты
- создайте системного пользователя и разрешите ему доступ к этим каталогам, а затем настройте его в Dovecot как пользователя для доступа к почте с помощью (
mail_uid=vmail
) - из конфигурации dovecot по умолчанию добавьте столько
namespace
блоков, сколько у вас корней maildir (папок, содержащих cur/new/tmp/.dotfolders) - добавьте файл passdb, чтобы предоставить вам пользователя для подключения ко всему этому
- подключитесь через свой любимый почтовый клиент и перетащите все, что вы хотите сохранить, в один из ваших текущих почтовых аккаунтов