Исправление дат ручного копирования IMAP в Thunderbird
Почему ручное копирование IMAP искажает даты в Thunderbird
Thunderbird делает миграцию писем между IMAP-аккаунтами обманчиво простой. Добавьте оба аккаунта, выберите сообщения, правой кнопкой мыши "Копировать в". Готово. Только вот даты на целевом сервере теперь неверны, и Thunderbird не предупреждает об этом.
Когда Thunderbird загружает сообщение на целевой IMAP-сервер, он отправляет команду APPEND без указания оригинального INTERNALDATE. Целевой сервер делает то, что делает любой IMAP-сервер в такой ситуации: записывает дату загрузки как INTERNALDATE и добавляет собственный заголовок Received с текущей датой. Оригинальный заголовок Date внутри тела письма остается нетронутым, но серверные метаданные навсегда перезаписаны.
И вот обманчивая часть. Стандартная раскладка столбцов Thunderbird показывает столбец "Дата", который считывает заголовок Date, сохранившийся корректно. Поэтому сразу после копирования 8 000 сообщений Вы бросаете взгляд на Thunderbird, и все выглядит нормально. Даты кажутся правильными. Проблема решена?
На самом деле нет. Серверный INTERNALDATE поврежден. А именно INTERNALDATE использует каждый другой почтовый клиент. Подключите Outlook к тому же аккаунту? Дата миграции на каждом письме. Откройте Apple Mail? Та же проблема. Даже в самом Thunderbird, если добавить столбец "Получено", станет виден реальный ущерб. Серверные команды IMAP-поиска (SEARCH SINCE, SEARCH BEFORE) ссылаются на INTERNALDATE, а не на заголовок Date. Ваша почтовая история скрыто повреждена на уровне протокола, даже если стандартное отображение Thunderbird скрывает это от Вас.
Как это влияет на Thunderbird и другие клиенты
В стандартной конфигурации Thunderbird видимый ущерб минимален: столбец "Дата" по-прежнему выглядит правильно. Но включите столбец "Получено", и повреждение станет очевидным: каждое скопированное сообщение показывает дату копирования. Серверная сортировка по дате получения формирует бессмысленный хронологический порядок. Панель быстрого фильтра Thunderbird при фильтрации по диапазонам дат обращается к серверу с INTERNALDATE и возвращает неточные результаты для скопированных сообщений.
Реальная опасность выходит за рамки Thunderbird. Любой другой клиент, подключающийся к тому же IMAP-аккаунту (Outlook, Apple Mail, мобильные почтовые приложения), по умолчанию отображает неверные даты. Инструменты резервного копирования, архивирующие через IMAP, фиксируют искаженный INTERNALDATE. Фильтры сообщений в Thunderbird, срабатывающие по дате получения, используют INTERNALDATE, потенциально неправильно распределяя сообщения. Анализ цепочки заголовков и восстановление метаданных дат Redate.io корректирует INTERNALDATE на самом сервере, что означает, что каждый клиент, подключающийся после этого (Thunderbird, Outlook, мобильные приложения, инструменты резервного копирования), видит правильные даты без какой-либо дополнительной настройки.
Часто задаваемые вопросы
Thunderbird показывает правильные даты в столбце "Дата". Проблема все ещё есть?
Да. Столбец "Дата" считывает заголовок из письма, который сохраняется при копировании. Но IMAP INTERNALDATE на сервере неверен. Это влияет на серверный поиск, все другие почтовые клиенты, инструменты резервного копирования и собственный столбец "Получено" в Thunderbird. Redate.io корректирует INTERNALDATE в соответствии с оригинальным заголовком Date.
Может ли Thunderbird исправить INTERNALDATE самостоятельно?
Нет. Протокол IMAP не поддерживает изменение INTERNALDATE сообщения после его сохранения на сервере. Thunderbird не имеет встроенной функции для этого. Redate.io выполняет коррекцию автоматически через сопоставление паттернов сигнатур инструментов миграции.
Я скопировал письма в несколько целевых аккаунтов через Thunderbird. Может ли Redate.io исправить все?
Да. Каждый целевой аккаунт может быть подключен к Redate.io независимо. Процесс сканирования и коррекции выполняется для каждого аккаунта отдельно, поэтому Вы можете исправить один, два или все через панель управления Redate.io.
Повлияет ли исправление дат на структуру папок или статус прочтения?
Нет. Redate.io сохраняет все метаданные сообщения, включая размещение в папках, флаги, статус прочтения и ярлыки. Корректируются только метаданные, связанные с датой. Каждое сообщение проверяется индивидуально после обработки.