Fix imapsync Migration Dates in Microsoft 365

Why imapsync Migrations Show the Wrong Date in Microsoft 365

imapsync migrations to Microsoft 365 (Exchange Online) face a double challenge with date preservation. First, Exchange Online's IMAP gateway has specific behaviors that can override the INTERNALDATE provided by imapsync's --syncinternaldates flag. Second, Exchange Online adds its own Received header during the IMAP APPEND process, stamping every message with the migration timestamp.

Microsoft 365's IMAP implementation is limited compared to full Exchange protocols (EWS, MAPI). When imapsync uploads via IMAP, the message passes through Exchange Online's transport pipeline, which processes it similarly to a new incoming message. This pipeline adds transport headers, runs compliance checks, and stamps the message with delivery metadata that reflects the actual upload time rather than the requested INTERNALDATE.

Administrators who choose imapsync for Microsoft 365 migrations (often because it is free and scriptable) discover after the migration that date preservation did not work as expected. The --syncinternaldates flag, which works correctly with many standard IMAP servers, does not produce the expected results with Exchange Online's particular IMAP implementation. The entire migrated mailbox shows the migration date across all Microsoft 365 clients.

How This Affects Microsoft 365

In Microsoft 365, the migration date appears uniformly across Outlook desktop, OWA, Outlook mobile, and Microsoft Search. Unlike Gmail (where the web client may mask the issue), Microsoft 365 clients all reference the same delivery timestamp. Users have no workaround and no client that shows the correct date until the underlying Received headers and INTERNALDATE are corrected at the server level.

Microsoft 365 administrative and compliance features are equally affected. Exchange Online Protection, Data Loss Prevention policies, and Microsoft Purview compliance searches all index the migration timestamp. For organizations subject to data retention regulations, the corrupted dates mean that retention policies based on message age operate on incorrect data, potentially leading to premature deletion of messages that should be retained or indefinite retention of messages that should have been purged.

Frequently Asked Questions

Why does imapsync --syncinternaldates fail with Microsoft 365?

Exchange Online IMAP implementation processes uploaded messages through its transport pipeline, which can override the requested INTERNALDATE. Additionally, Exchange Online adds Received headers that carry the upload timestamp. These server-side behaviors are outside imapsync control.

Should I have used a different migration tool for Microsoft 365?

Most migration tools (including commercial ones like BitTitan and CloudM) produce the same date issue because the root cause is in how Exchange Online processes uploaded messages. The migration tool choice does not prevent the problem. Redate.io fixes it regardless of which tool was used.

Can Redate.io fix imapsync-migrated mailboxes in bulk?

Yes. Redate.io supports bulk mailbox processing for Microsoft 365. Administrators can scan and fix multiple mailboxes from a single dashboard. The Enterprise plan supports up to 100,000 emails per mailbox.

Start Free Scan