Scenariul clasic de luni dimineață
Tocmai ați finalizat migrarea IMAP spre Exchange Online. Batch-ul s-a încheiat fără erori în centrul de administrare Exchange, cutiile sunt sincronizate, utilizatorii se pot conecta. Vineri seară închideți calculatorul cu sentimentul că ați terminat treaba.
Luni dimineață încep tichetele. "Toate emailurile mele sunt datate de vineri." "Istoricul din Inbox este inutilizabil." "Lipsesc emailuri vechi." De fapt nu lipsește nimic: emailurile sunt acolo, dar Outlook le afișează toate cu data migrării în loc de data originală de trimitere. Un email din 2019 apare datat de vinerea trecută. Rezultat: întreaga cutie pare să conțină doar mesaje recente.
Este una dintre cele mai frustrante probleme ale migrărilor IMAP spre Exchange Online, și este aproape sistematic subdocumentată de Microsoft.
De ce migrarea prin EAC strică datele
Când folosiți centrul de administrare Exchange (EAC) pentru a configura o migrare IMAP dintr-un server local (Dovecot, Courier, Cyrus, UW-IMAP, oricare ar fi), Exchange Online se conectează la serverul sursă prin IMAP, preia mesajele și le injectează în cutiile destinație prin propriul pipeline intern de transport.
Exact acolo apare problema.
Fiecare email care trece prin pipeline-ul de transport Exchange primește automat un antet Received: cu marcaj de timp. Acesta este un comportament standard al serverelor SMTP și IMAP de zeci de ani: fiecare server care atinge un mesaj îi aplică propria semnătură temporală. Problema este că Outlook (în special Outlook pentru Windows, în versiunile recente) folosește cel mai recent antet Received: ca referință de afișare atunci când alte metadate sunt ambigue.
Antetul Date: original (cel care indică momentul real al trimiterii, în sensul RFC 2822) este încă prezent în mesaj. Nu a fost șters. Dar este „eclipsat