Исправить даты писем после миграции Microsoft 365

5 min

Проблема дат при миграции Microsoft 365

После миграции в Microsoft 365 (Exchange Online) организации часто обнаруживают проблему, которая должна была попасть в анализ рисков проекта: каждое письмо в каждом ящике показывает дату миграции вместо исходной даты получения. Пользователи открывают Outlook и видят тысячи писем с одной датой. Сортировка бесполезна. Результаты поиска показывают ложные метки. Хронология ящика выглядит уничтоженной.

Проблема затрагивает миграции со всех платформ-источников: Exchange on-premises, Gmail, Google Workspace, Zimbra, Lotus Notes и любых других IMAP-серверов. Она появляется при использовании всех популярных инструментов, включая BitTitan MigrationWiz, встроенный импорт IMAP центра администрирования Exchange и сторонние инструменты (CloudM, imapsync). Причина всегда одна: заголовок "Received", добавленный при миграции, перекрывает отображение исходной даты в Outlook.

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

С Gmail / Google Workspace

Организации, переходящие с Google Workspace на Microsoft 365, обычно используют BitTitan MigrationWiz, CloudM или встроенный импорт IMAP центра администрирования Exchange. Каждый из них извлекает письма из Gmail и вставляет в Exchange Online. При вставке Exchange Online добавляет заголовок "Received" с меткой миграции. Этот заголовок становится самым верхним, и Outlook показывает дату миграции.

С Exchange on-premises

Миграции с Exchange on-premises (2010, 2013, 2016, 2019) на Exchange Online используют встроенные инструменты Microsoft (прямая, поэтапная, гибридная миграция) или сторонние инструменты вроде BitTitan. Гибридные миграции через точку миграции Exchange иногда сохраняют даты корректно, но IMAP-миграции и сторонние инструменты часто вызывают проблему. Результат зависит от того, как именно инструмент вставляет сообщения в Exchange Online.

С других IMAP-серверов

Миграции с Zimbra, Zoho, хостинга cPanel, Dovecot и других серверов в Microsoft 365 обычно выполняются через встроенный импорт IMAP центра администрирования Exchange или imapsync. Оба метода приводят к добавлению заголовков "Received" Exchange Online при импорте. Все мигрированные письма показывают дату миграции в Outlook.

Как Exchange Online обрабатывает мигрированные письма

Exchange Online и заголовки "Received"

Когда сообщение вставляется в ящик Exchange Online (через IMAP, EWS или Microsoft Graph API), Exchange Online обрабатывает его как новую доставку и добавляет транспортные заголовки. Они включают запись "Received" с текущей меткой. Для мигрированных писем эта метка соответствует дате миграции, а не исходной доставки.

Как Outlook считывает дату

Outlook (десктоп, веб, мобильный) определяет дату "Получения" по метаданным и заголовкам. Колонка "Получено" (вид по умолчанию) показывает дату из самого свежего "Received" или метку доставки Exchange. После миграции это значение отражает момент, когда инструмент доставил сообщение в Exchange Online, а не момент исходного получения. Для подробного технического объяснения см. исправление неправильной даты Outlook после миграции.

Outlook в вебе (OWA)

OWA показывает ту же неправильную дату, что и десктопный Outlook. В отличие от веб-интерфейса Gmail (который иногда показывает правильную дату из заголовка "Date"), OWA последовательно отображает метку доставки Exchange. Обходных путей на стороне клиента нет. Исправление должно выполняться на сервере.

Встроенные инструменты Microsoft не решают проблему

Центр администрирования Exchange

Центр администрирования Exchange предлагает множество функций управления ящиками, но не включает инструментов для исправления дат после миграции. Нет массового редактирования заголовков. Нет мастера коррекции дат. Нет cmdlet PowerShell для модификации заголовков "Received" существующих сообщений.

Инструменты комплаенса (eDiscovery, хранение)

Инструменты комплаенса Microsoft 365 (eDiscovery, политики хранения) используют хранимые метки писем. После миграции они отражают дату миграции, что может создать реальные проблемы с юридическими удержаниями, нормативным комплаенсом и аудиторскими журналами. Это не вопрос удобства, а потенциальные юридические и нормативные последствия для организаций с требованиями хранения.

PowerShell

Exchange Online PowerShell предлагает мощные возможности управления ящиками, но не может модифицировать сырое содержимое сообщений. Set-MailboxMessageConfiguration и связанные cmdlet управляют параметрами ящика, а не заголовками отдельных сообщений. Поддерживаемого PowerShell-подхода для удаления заголовков "Received" из существующих сообщений Exchange Online не существует. Вот и что IT-командам делать?

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

Как Redate.io подключается к Microsoft 365

Redate.io подключается к Exchange Online через регистрацию приложения Azure AD (Entra ID). Администратор создаёт регистрацию приложения в портале Azure, предоставляет разрешения Mail.ReadWrite и даёт административное согласие для тенанта. Это позволяет Redate.io обращаться ко всем ящикам через Microsoft Graph API или IMAP с аутентификацией OAuth2.

Регистрация приложения занимает около 15 минут и следует стандартным паттернам OAuth2 Microsoft. Пароли пользователей не передаются, аутентификация полностью управляется токенами Azure AD.

Начало работы

Зарегистрировать приложение Azure AD. В портале Azure перейдите в Azure Active Directory (Entra ID), затем Регистрация приложений и создайте новое приложение.

Предоставить разрешения на почту. Добавьте разрешение Microsoft Graph "Mail.ReadWrite" (разрешение приложения). Предоставьте административное согласие.

Создать секрет клиента или сертификат. Сгенерируйте секрет или загрузите сертификат для аутентификации. Запишите ID приложения и ID тенанта.

Подключить в Redate.io. Войдите в Redate.io, выберите "Microsoft 365" и введите ID приложения, ID тенанта и секрет. Redate.io проверит подключение и покажет доступные ящики.

Проанализировать и исправить. Выберите ящики для анализа. Бесплатный анализ определит затронутые письма. После просмотра результатов выберите тариф и запустите коррекцию. Проприетарный движок Redate.io обрабатывает каждое письмо через многоступенчатый конвейер, работающий с подписями S/MIME, multipart MIME-структурами, краевыми случаями кодировки и десятками других вариаций.

Что даёт Redate.io

Для каждого затронутого письма движок анализирует полную цепочку заголовков, применяет точечные корректировки на основе сопоставления сигнатур известных миграций и подтверждает каждый результат проверкой целостности. Оригиналы перемещаются в папку "Redate.io - Originals" и хранятся 30 дней. Это намного сложнее простого поиска-замены в тексте заголовка.

После коррекции

Outlook (десктоп, веб, мобильный) показывает правильные исходные даты. Сортировка по "Получено" работает как задумано. Результаты поиска точны. Инструменты комплаенса отражают корректные даты. Коррекция постоянная, обслуживание не требуется.

Руководства по инструментам для Microsoft 365

Миграция в Microsoft 365 и даты неправильные? Запустите бесплатный анализ с Redate.io, чтобы определить затронутые письма и восстановить правильные даты в Outlook, OWA и всех подключённых клиентах.