От старых ящиков к новым серверам: почта
mccb читает файлы PST и OST, Exchange, Microsoft 365, Google Workspace, IMAP, JMAP, mbox, Maildir и другое, а записывает в IMAP, CalDAV, CardDAV, JMAP или Exchange. Он создан для сисадминов и хостинг-провайдеров, которые переносят партии ящиков.
- Предпроверка
- Почта
- Календарь
- Контакты
- Проверка
anna.pst- Почта60
- События8
- Контакты12
IMAPmail.example.com
0 / 60
CalDAVmail.example.com
0 / 8
CardDAVmail.example.com
0 / 12
Обрыв соединения
1ПростойОтправкаНеизвестноПоискНа сервере, пропущеноОтсутствует, отправлено повторноТот же UID, перезапись2ПростойОтправкаНеизвестноПоискНа сервере, пропущеноОтсутствует, отправлено повторноТот же UID, перезапись3ПростойОтправкаНеизвестноПоискНа сервере, пропущеноОтсутствует, отправлено повторноТот же UID, перезапись4ПростойОтправкаНеизвестноПоискНа сервере, пропущеноОтсутствует, отправлено повторноТот же UID, перезапись
Нажмите Start, затем обрывайте соединение, когда захотите.Предпроверка: IMAP, DAV и квота.Сначала почта, начиная с новых, по параллельным соединениям.Затем события по CalDAV. У каждого фиксированный UID.Контакты в последнюю очередь, по CardDAV. У каждого фиксированный UID.Проверка: сравниваются количества писем в папках, а выборка писем считывается обратно и сверяется по хешу.Соединение потеряно, и никто не знает, дошли ли элементы в обработке. mccb сначала сам повторяет попытки; в этой демонстрации сразу происходит возобновление.Возобновление: уже обработанные элементы пропускаются. Каждое письмо в обработке ищется на сервере по X-PST-Import-Id и отправляется повторно, только если его нет.Готово, по одному отчёту на ящик. Нажмите Replay, чтобы повторить, и оборвите соединение в другом месте.
В продакшене
Уже перенесено более 500 ГБ почты без ошибок, вместе с календарями и контактами.
Как это работает
Один сервер, много ящиков, по одному отчёту на каждый.
Добавить сервер
Выберите провайдера или любой сервер IMAP: адрес и порт заполняются, а при сохранении выполняется проверка.
Создайте миграцию
Откуда берётся почта (файл или работающий сервер) и в какой ящик она попадает. Сразу много: импортируйте CSV.
Запустить
Панель ящика показывает, чего ещё не хватает, и затем запускает его. При желании сначала сделайте пробный запуск.
Следите и читайте
Следите за каждым ящиком в реальном времени и читайте по одному отчёту на ящик.
Ограничения
Прочитайте это перед миграцией.
Проверьте миграцию на тестовом ящике, прежде чем запускать её на рабочих данных.
- Один администратор, один хост
Один общий пароль, без учётных записей и ролей. SQLite на локальном диске, без высокой доступности.
- Exchange, Microsoft 365 и Google не проверены на реальных серверах
Эти коннекторы проверены только на имитированных серверах. Сначала попробуйте один ящик с небольшим числом элементов.
- Ограничения Microsoft 365
Письмам, записанным через Graph, в качестве даты получения ставится дата импорта. Участники по умолчанию записываются текстом, архивные ящики не переносятся.
- Календари JMAP не реализованы
Для календарей провайдера JMAP используйте CalDAV.
- Зашифрованные PST не поддерживаются
PST с зашифрованным или защищённым паролем содержимым выдаёт ошибки или помечается как недействительный.
- Повреждённые PST могут обрушить libpff
Затронутые элементы пропускаются и попадают в отчёт. При превышении лимита сбоев задание завершается ошибкой, а сильно повреждённый PST может быть отклонён.
- Простой HTTP
Порт 22362 работает по простому HTTP. Поставьте mccb за обратный прокси и не открывайте порт напрямую.
- только amd64
Опубликованный образ для
linux/amd64.
Запустите mccb
Откройте http:// и войдите с выведенным паролем. Он показывается один раз. Подробности в документации.
$ mkdir mccb && cd mccb
$ curl -fsSLO https://raw.githubusercontent.com/selfhostr/mccb/main/docker-compose.yml
$ docker compose up -d
$ docker compose logs web | grep -A2 "Admin password"