Исправление дат Zimbra после миграции IMAP

4 min

Zimbra и проблемы дат после миграции

Zimbra Collaboration Suite - одна из самых развёрнутых open source почтовых платформ в мире. Университеты, госучреждения, компании, хостинг-провайдеры - все используют Zimbra. И инсталляции Zimbra часто становятся источником или назначением масштабных миграций: переход на Google Workspace или Microsoft 365, консолидация нескольких инстансов Zimbra или миграция с другой платформы на Zimbra.

В каждом из этих сценариев миграция может исказить даты писем. После переноса все письма показывают дату миграции вместо исходной.

Почему миграции Zimbra распространены

Корпоративное и хостинговое применение

Zimbra популярна в средах, где организации хотят полный контроль над почтовой инфраструктурой. Университеты обслуживают десятки тысяч ящиков студентов и преподавателей. Хостинг-провайдеры предлагают Zimbra как управляемое решение. Госучреждения разворачивают Zimbra на своей площадке для соответствия требованиям суверенитета данных.

Когда эти организации решают мигрировать, речь идёт о массивных объёмах почтовых данных.

Типичные пути миграции

Самые частые сценарии: Zimbra на Google Workspace, Zimbra на Microsoft 365, Zimbra на Zimbra (обновление оборудования или версии), сторонний IMAP-хостинг на Zimbra. Каждый из этих путей использует IMAP как транспортный механизм и каждый вызывает ту же проблему с датами.

Как ломаются даты при миграции Zimbra

Проблема IMAP APPEND

Мигрируете ли Вы на Zimbra или с Zimbra, инструмент скачивает письма с источника и загружает на назначение через IMAP APPEND. Целевой сервер добавляет "Received" при вставке с меткой миграции, а не исходной доставки. Клиенты вроде Outlook показывают дату самого верхнего Received, то есть дату миграции. Для полного технического объяснения см. IMAP INTERNALDATE: почему ломаются даты.

Нативные инструменты Zimbra

Zimbra предоставляет утилиты командной строки (zmmailbox, zmprov) для администрирования. Некоторые администраторы используют zmmailbox для экспорта и импорта в нативном формате Zimbra. Хотя нативный формат может сохранить больше метаданных, он доступен только для миграций Zimbra-на-Zimbra. Кросс-платформенные миграции используют IMAP или специализированные инструменты на базе IMAP, и те всегда вызывают проблему с Received.

imapsync и Zimbra

imapsync - самый распространённый open source инструмент для миграций на и с Zimbra. Он надёжен и корректно работает с IMAP-реализацией Zimbra. Но imapsync не может помешать целевому серверу добавить Received при APPEND. Даже при сохранении INTERNALDATE проблема с Received остаётся. См. руководство по исправлению дат imapsync.

Выявление проблем с датами в Zimbra

Проверка заголовков в веб-почте Zimbra

В веб-клиенте Zimbra откройте затронутое письмо, нажмите на стрелку рядом с "Ответить" и выберите "Показать оригинал". Это покажет сырое RFC 2822 сообщение со всеми заголовками. Смотрите самый верхний "Received". Если его метка совпадает с датой миграции, это заголовок миграции, вызывающий проблему.

Расхождение между веб-почтой и IMAP-клиентом

Веб-клиент Zimbra может показывать значение заголовка Date, а не Received для основного отображения. Это значит, что даты могут выглядеть правильно в веб-почте Zimbra, но неправильно в Outlook, Apple Mail или Thunderbird. Всегда проверяйте даты в IMAP-клиентах, которыми реально пользуются пользователи.

Исправление дат Zimbra с Redate.io

Подключение Zimbra к Redate.io

Redate.io подключается к серверам Zimbra через стандартный IMAP. Необходимы: hostname IMAP-сервера, порт (993 для SSL, 143 для STARTTLS), email пользователя и пароль или делегированный токен от администратора. Для организаций с несколькими ящиками администратор Zimbra может использовать делегирование для предоставления доступа без индивидуальных паролей.

Как работает коррекция

После подключения Redate.io анализирует все папки ящика Zimbra для выявления писем с Received миграции. Анализ бесплатный.

Для каждого затронутого письма проприетарный движок анализирует полную цепочку заголовков, сопоставляет сигнатуры сотен профилей миграции и пропускает через многоступенчатый конвейер, обрабатывающий краевые случаи, которые большинство скриптов пропускает. Подписи S/MIME, вложенные MIME-части, не-ASCII заголовки, вариации Content-Transfer-Encoding. После коррекции верификация целостности подтверждает, что каждое сообщение не повреждено, оригинал перемещается в папку бэкапа на 30 дней.

Коррекция работает независимо от того, является Zimbra источником или назначением миграции. Пока ящик доступен через IMAP, Redate.io может восстановить правильные даты.

Особенности Zimbra

Версии Zimbra и совместимость IMAP

Zimbra версий 8.x и 9.x полностью поддерживают IMAP4rev1, и Redate.io работает с обеими. Старые инсталляции (7.x и ранее) тоже поддерживают IMAP, хотя организациям стоит рассмотреть обновление из соображений безопасности.

Обработка больших ящиков

Корпоративные развёртывания Zimbra часто имеют очень большие ящики (50 000 - 200 000 писем на пользователя). Как проверить, что каждое исправленное сообщение не повреждено? Redate.io обрабатывает большие ящики пакетами, соблюдает лимиты подключений сервера и возобновляет работу при обрыве связи. Каждое письмо проходит верификацию целостности.

Теги и общие папки Zimbra

Zimbra поддерживает теги (аналог ярлыков Gmail) и общие папки. Redate.io сохраняет все теги на исправленных письмах. Общие папки обрабатываются как обычные, права доступа не затрагиваются.

Управляемый хостинг Zimbra

Многие провайдеры предлагают Zimbra как управляемый сервис. Для управляемого Zimbra IMAP-доступ должен быть активирован провайдером. Большинство инсталляций имеют IMAP включённым по умолчанию. Если IMAP недоступен, свяжитесь с провайдером для активации перед подключением Redate.io.

Даты Zimbra сломаны после миграции? Запустите бесплатный анализ с Redate.io, чтобы увидеть число затронутых писем и восстановить корректные метки времени.