Как Thunderbird обрабатывает даты писем
Mozilla Thunderbird - один из самых популярных бесплатных почтовых клиентов, широко используемый как частными пользователями, так и организациями, предпочитающими open source альтернативу Outlook. Подход Thunderbird к отображению дат более гибкий, чем у большинства клиентов, что является одновременно и преимуществом, и источником путаницы при проблемах с датами миграции.
Две колонки дат в Thunderbird
Thunderbird различает два значения дат: "Дата" и "Получено". Колонка "Дата" показывает значение RFC 2822 заголовка Date, метку, установленную отправителем. Колонка "Получено" показывает дату, полученную из метаданных IMAP-сервера (INTERNALDATE) и заголовков "Received".
По умолчанию Thunderbird отображает колонку "Дата" (дату отправки). Поэтому сразу после миграции пользователи Thunderbird могут даже не заметить проблему, поскольку заголовок Date сохраняется. Колонка "Получено", напротив, показывает дату миграции для каждого письма. Пользователи, настроившие представление на колонку "Получено" или сортирующие по дате получения, видят неправильные даты.
Сортировка "По дате получения" и "По дате"
Thunderbird предлагает раздельные варианты сортировки: "Дата" (по заголовку Date) и "По дате получения" (по метке получения). Сортировка по "Дате" даёт правильный хронологический порядок. Сортировка "По дате получения" группирует все мигрированные письма на дату миграции, ломая хронологию.
Многие пользователи не осознают, что это два разных варианта сортировки.
Почему колонка "Дата" Thunderbird - не настоящее решение
Поиск затронут
Поиск Thunderbird может фильтровать по диапазону дат. Когда пользователь ищет "письма, полученные в январе 2024", Thunderbird использует метаданные даты получения с сервера, а не заголовок Date. После миграции поиск не даёт результатов за январь 2024 и возвращает все письма за дату миграции. Для пользователей, часто ищущих по диапазону дат (бухгалтеры, ищущие счета за конкретный квартал, юристы, собирающие переписку по делу), ящик функционально сломан.
Фильтры сообщений и сохранённые поиски
Фильтры Thunderbird могут срабатывать по условиям даты. Фильтры, ссылающиеся на дату "Получено" или "Возраст в днях", работают некорректно после миграции. Сохранённые поиски (виртуальные папки) с критериями по дате также затронуты.
Другие IMAP-клиенты на том же аккаунте
Даже если пользователь Thunderbird переключится на колонку "Дата", проблема остаётся на сервере. Если кто-то другой откроет тот же ящик через Outlook, Apple Mail, мобильное приложение или веб-почту, он увидит неправильные даты. Проблема на стороне сервера, а не клиента.
Просмотр заголовков в Thunderbird
Просмотр заголовков в Thunderbird
Thunderbird упрощает инспекцию заголовков. Откройте письмо, затем нажмите Вид, затем Исходный код сообщения (или Ctrl+U). Это покажет полный исходный текст сообщения. Также можно использовать Вид, затем Заголовки, затем Все для расширенного отображения.
Определение заголовков Received миграции
В исходном коде сообщения смотрите заголовки "Received" в начале. Самый верхний Received - самый свежий; после миграции это заголовок инструмента миграции. Он обычно содержит метку, совпадающую с датой миграции, и может явно ссылаться на инструмент (например, "mx.migrationwiz.com" для BitTitan, "cloudm.io" для CloudM или "gmailapi.google.com" для GSMMO).
Под заголовком миграции оригинальные Received по-прежнему на месте. Оригинальный заголовок Date тоже сохранён. Это подтверждает: правильная информация о дате существует, её просто нужно восстановить.
Почему исправления на стороне клиента не работают
Проблема на стороне сервера
Любой обходной путь через настройки Thunderbird - модификация на стороне клиента, влияющая только на то, что Thunderbird показывает на экране. Реальные данные письма на сервере по-прежнему содержат заголовок Received миграции. Это значит, что другие устройства и клиенты видят неправильные даты, серверный поиск даёт неверные результаты, инструменты комплаенса и архивирования захватывают неправильные даты, а бэкапы сохраняют ошибочные метки. Единственное постоянное исправление - модификация данных на сервере.
Расширения Thunderbird не могут это исправить
Хотя система расширений Thunderbird мощная, ни одно дополнение не может изменить заголовки на IMAP-сервере. Расширение может потенциально изменить отображение дат локально, но это повлияет только на Thunderbird на конкретном компьютере. Так какое же настоящее решение?
Исправление дат Thunderbird на уровне сервера
Как Redate.io решает проблему
Redate.io подключается к почтовому серверу (Google Workspace, Microsoft 365 или любой IMAP-сервер, включая Zimbra и Zoho) и исправляет каждое затронутое письмо непосредственно на сервере.
Проприетарный движок коррекции Redate.io анализирует полную цепочку заголовков каждого затронутого сообщения, сопоставляя сигнатуры миграции из сотен профилей известных инструментов. Многоступенчатый конвейер обрабатывает краевые случаи, на которых самодельный подход потерпит неудачу: подписанные S/MIME, зашифрованные PGP, multipart со вложенными MIME-границами, не-ASCII заголовки и вариации Content-Transfer-Encoding. После коррекции проверка целостности подтверждает, что каждое сообщение не повреждено. Оригиналы хранятся в папке бэкапа 30 дней.
После коррекции Thunderbird синхронизируется с сервером и получает исправленные даты. Колонки "Дата" и "Получено" показывают правильные значения. Поиск по диапазону дат работает корректно. Фильтры и сохранённые поиски по дате получения работают как задумано.
Можно ли попробовать написать скрипт для этого самостоятельно? На самом деле вопрос в другом: как Вы проверите, что у 8000 исправленных писем все вложения целы, группировка переписки сохранена и MIME-структуры валидны? Именно на этой верификации самодельные подходы разваливаются.
Проверка коррекции в Thunderbird
После завершения коррекции Redate.io принудительно пересинхронизируйте Thunderbird: щёлкните правой кнопкой на аккаунте в панели папок и выберите "Подписаться", затем закройте диалог, или выполните сжатие папок. Thunderbird загрузит обновлённые заголовки с сервера. Колонка "Получено" теперь должна показывать исходные даты получения.
Типичные сценарии миграции с Thunderbird
Thunderbird как инструмент миграции
Частый сценарий: использование самого Thunderbird как инструмента миграции. Администратор настраивает IMAP-аккаунты источника и назначения в Thunderbird, затем перетаскивает письма из одного аккаунта в другой. Хотя метод "работает" в смысле переноса писем, целевой сервер добавляет Received к каждому скопированному сообщению, помечая все датой копирования. См. руководство по исправлению дат ручного копирования IMAP для Thunderbird.
Thunderbird после серверной миграции
Когда миграция выполняется на уровне сервера (BitTitan, CloudM, imapsync или другой инструмент), пользователи Thunderbird затронуты как любой другой IMAP-клиент. Даты миграции появляются в колонке "Получено", тогда как "Дата" может оставаться корректной. Администраторам стоит проверять даты именно в Thunderbird, так как его двойная колонка может маскировать проблему.
Thunderbird показывает неправильные даты после миграции? Запустите бесплатный анализ с Redate.io, чтобы определить затронутые письма и восстановить правильные даты во всех почтовых клиентах.