Исправление дат миграции imapsync в Gmail
Почему миграции imapsync показывают неправильную дату в Gmail
imapsync часто используется для переноса почтовых ящиков в Gmail и аккаунты Google Workspace через IMAP. Когда imapsync загружает сообщения в IMAP-интерфейс Gmail, Gmail обрабатывает каждое сообщение через собственный конвейер. Даже при указании флага --syncinternaldates реализация IMAP в Gmail в определенных ситуациях может перезаписать запрошенную INTERNALDATE, особенно когда сообщение проходит через фильтры спама и безопасности Gmail.
Поведение IMAP в Gmail существенно отличается от стандартных IMAP-серверов. Gmail добавляет собственный заголовок Received (обычно содержащий "gmailapi.google.com" или идентификатор IMAP-шлюза) с меткой времени загрузки. Кроме того, обработка команды APPEND с указанной INTERNALDATE не всегда последовательна. Некоторые сообщения получают запрошенную дату, а другие маркируются меткой времени загрузки, создавая непредсказуемую смесь правильных и неправильных дат в одном перенесенном почтовом ящике.
Для пользователей веб-версии Gmail отображаемая дата берется из заголовка Date, что маскирует проблему INTERNALDATE. Но пользователи, подключающиеся к своему аккаунту Gmail через Outlook, Apple Mail или Thunderbird, видят дату миграции на затронутых письмах. Несоответствие между веб-версией Gmail и IMAP-клиентами создает путаницу, а частичный характер проблемы (некоторые даты верны, некоторые нет) еще больше затрудняет диагностику и оценку масштаба затронутых сообщений.
Как это влияет на Gmail
Поведение двойных дат Gmail означает, что проблема невидима в веб-интерфейсе Gmail, но полностью видима в IMAP-клиентах. Пользователи, использующие Gmail только в браузере, могут никогда не заметить проблему. Пользователи, подключающие Outlook, Apple Mail или Thunderbird к тому же аккаунту Gmail, видят дату миграции на затронутых письмах. Это несоответствие приводит к противоречивым сообщениям пользователей, что затрудняет работу службы поддержки.
Поиск IMAP в Gmail (команды SEARCH SINCE/BEFORE) использует INTERNALDATE, поэтому любой IMAP-инструмент или клиент, выполняющий поиск по датам в почтовом ящике, получает неверные результаты. Инструменты резервного копирования, подключающиеся к Gmail через IMAP, архивируют неверные даты, создавая постоянные неточности в резервных копиях. Google Vault и инструменты соответствия Workspace также могут ссылаться на INTERNALDATE для удержаний по датам, потенциально влияя на юридические и нормативные процессы.
Часто задаваемые вопросы
Почему imapsync --syncinternaldates не работает надежно с Gmail?
Реализация IMAP в Gmail имеет специфическое поведение, отличающееся от стандартных IMAP-серверов. Gmail может перезаписать запрошенную INTERNALDATE в ходе обработки через внутренний конвейер, особенно когда сообщения проходят через фильтры спама или сканирование безопасности. Это специфическое поведение Gmail, а не ошибка imapsync.
Как узнать, у каких писем в Gmail неверная INTERNALDATE?
Redate.io сканирует почтовый ящик и выявляет письма, у которых INTERNALDATE не совпадает с исходным заголовком Date. Сканирование бесплатное и показывает точно, сколько писем затронуто, чтобы администраторы могли оценить масштаб перед принятием решения об исправлении.
Обрабатывает ли Redate.io ярлыки Gmail при исправлении дат?
Да. Redate.io сохраняет все ярлыки Gmail, звездочки, статус прочтения и другие метаданные при исправлении письма. Исправленное сообщение появляется в том же месте с теми же ярлыками, что и оригинал.