Migrare iCloud spre Office 365: date de email incorecte

8 min

Un scenariu de migrare care strică sistematic datele

Tocmai ați terminat transferul cutiei poștale iCloud spre Office 365. Emailurile sunt acolo, dosarele sunt la locul lor, totul pare perfect. Luni dimineața, prima reclamație apare: "Toate emailurile mele vechi afișează data de azi." Apoi o alta. Apoi zece.

Nu este un bug izolat. Migrarea de la iCloud Mail spre Office 365 este unul dintre scenariile cel mai bine documentate de corupere a datelor de email, din motive tehnice foarte precise legate atât de comportamentul Apple Mail, cât și de protocolul IMAP și de modul în care Microsoft 365 procesează mesajele primite.

De ce migrarea iCloud spre Office 365 strică datele

Pentru a înțelege problema, trebuie să distingeți trei lucruri pe care mulți oameni (inclusiv administratori IT cu experiență) le confundă: antetul Date:, INTERNALDATE-ul IMAP și data de creare a fișierului.

Antetul Date: (RFC 2822)

Fiecare email conține un antet Date: care indică momentul în care mesajul a fost trimis. Acest antet este integrat în corpul brut al mesajului și nu se modifică niciodată, în teorie. Este data "originală" în sensul strict al termenului.

INTERNALDATE-ul IMAP

Protocolul IMAP (definit în RFC 3501) asociază fiecărui mesaj o metadată distinctă numită INTERNALDATE. Această valoare este cea folosită de majoritatea clienților de email pentru a sorta și afișa mesajele în căsuța de intrare, nu antetul Date:. Outlook, în special, se bazează foarte mult pe INTERNALDATE pentru afișare și sortare.

Problema? Când un instrument de migrare copiază un email de pe un server IMAP pe altul, ar trebui în mod ideal să păstreze acest INTERNALDATE. În practică, nu se întâmplă întotdeauna astfel.

Comportamentul particular al Apple Mail

Apple Mail, atunci când sincronizează mesaje din iCloud, folosește uneori data de creare a fișierului de pe server ca referință pentru INTERNALDATE. Nu este un bug în sens strict, ci o interpretare a specificației IMAP care diferă de cea a altor clienți. (Apropo, dacă ați încercat vreodată să depanați o problemă de INTERNALDATE citind RFC-urile IMAP brute, știți că specificația lasă o marjă de interpretare destul de largă pe acest subiect.)

Rezultat: când exportați sau migrați din iCloud prin Apple Mail, INTERNALDATE-urile mesajelor pot fi deja incorecte înainte de a ajunge în Office 365.

Cele trei metode de migrare iCloud și capcanele lor

Migrare IMAP directă

Metoda cea mai frecventă constă în configurarea iCloud ca sursă IMAP și Office 365 ca destinație, apoi utilizarea unui instrument de migrare (imapsync, MigrationWiz sau un instrument propriu). Instrumentul se conectează la ambele servere și copiază mesajele.

Problema este dublă. Mai întâi, serverele IMAP ale Apple au limite de debit care forțează instrumentele să facă pauze, creând ferestre de timp în care conexiunile se închid și se redeschid, ceea ce poate genera INTERNALDATE-uri parazite. Apoi, fiecare mesaj copiat prin IMAP APPEND spre Exchange Online primește implicit o dată de depunere corespunzătoare momentului migrării, cu excepția cazului în care instrumentul transmite explicit INTERNALDATE-ul original în comanda de inserare.

Unele instrumente fac asta corect. Altele, nu sistematic. Iar pe o cutie cu 40.000 de mesaje, chiar și o rată de eroare de 2% înseamnă 800 de emailuri cu data greșită.

Pentru migrările via imapsync, consultați și: corectarea datelor imapsync în Microsoft 365.

Export .mbox sau .eml, urmat de import

Unii utilizatori exportă emailurile iCloud prin Apple Mail în format .mbox, apoi încearcă să le importe în Outlook. Este o metodă artizanală care produce rezultate variabile.

Formatul .mbox codifică emailurile ca o secvență de mesaje text. Datele sunt prezente în anteturile Date: individuale, dar linia de separare dintre mesaje ("From ") include o dată care poate fi interpretată ca dată de creare de unele instrumente de import. Outlook, atunci când importă un .mbox convertit în .pst, folosește uneori această dată de separare în locul antetului Date: al mesajului propriu-zis.

Glisarea și plasarea prin Outlook

Aceasta este metoda care cauzează cele mai mari daune. Un utilizator configurează ambele conturi în Outlook (iCloud și Office 365), apoi glisează și plasează mesajele dintr-un dosar în altul. Pare simplu. Este o catastrofă pentru date.

Când Outlook mută un mesaj prin glisare și plasare între două conturi IMAP, generează de fapt un fișier .EML nou, îl inserează în contul destinație și îl șterge pe cel original. Noul fișier moștenește data de creare a fișierului Windows, adică momentul exact al glisării. Antetul Date: original este în continuare prezent în corpul mesajului, dar INTERNALDATE-ul înregistrat pe serverul Exchange Online corespunde datei operațiunii. Outlook afișează apoi această dată de migrare pentru toate mesajele mutate.

De fapt, acest comportament variază în funcție de versiunea de Outlook. Începând cu actualizarea Outlook din toamna lui 2023, comportamentul s-a îmbunătățit ușor pentru anumite scenarii, dar glisarea și plasarea între conturi rămâne o sursă documentată de corupere a datelor.

Ce afișează în final Office 365 și Outlook

Exchange Online stochează emailurile cu INTERNALDATE-ul lor. Outlook Desktop citește acest INTERNALDATE pentru a afișa data în coloana "Primit" și pentru a sorta căsuța de intrare. Dacă INTERNALDATE-ul a fost suprascris în timpul migrării, Outlook afișează data migrării, punct.

Outlook Web App (OWA) face același lucru. Nu există nicio "vedere alternativă" care să arate data originală din antetul Date:. Ceea ce vedeți în coloana de date este INTERNALDATE-ul.

Antetul Date: original este în continuare acolo, intact, lizibil dacă afișați anteturile brute ale unui mesaj. Dar nicio afișare normală nu îl prezintă. Aceasta este frustrarea centrală a acestei probleme: informația corectă există, dar este pur și simplu inaccesibilă fără o corecție tehnică.

Ce nu rezolvă suportul Microsoft

Dacă deschideți un tichet la Microsoft Support pentru această problemă, iată ce veți obține probabil: o confirmare că datele afișate corespund INTERNALDATE-urilor stocate, o sugestie de a verifica setările de sortare din Outlook și eventual o trimitere spre instrumentul de migrare utilizat.

Nu este rea voință. Microsoft pur și simplu nu are un instrument nativ pentru a corecta retroactiv INTERNALDATE-urile a mii de mesaje deja ingerate în Exchange Online. Corecția necesită accesarea mesajelor individual, analiza anteturilor și reconstruirea metadatelor de dată, ceea ce depășește perimetrul suportului standard.

Suportul iCloud, la rândul său, consideră că mesajele au fost exportate corect și că problema este la destinație. Cei doi furnizori de suport își pasează responsabilitatea unul altuia, iar utilizatorul rămâne cu 12.000 de emailuri datate în ziua migrării.

Problema de scară

Înțelegerea motivului pentru care datele sunt stricate este un lucru. Corectarea lor manuală pe o cutie poștală de producție este cu totul altceva.

Unii administratori IT încearcă să scripteze corecția. Ideea de bază nu este complicată de conceptualizat, dar execuția pe volume reale ridică probleme pe care scripturile artizanale nu le gestionează bine:

  • Emailurile semnate S/MIME sau criptate cu PGP nu pot fi modificate fără a invalida semnătura criptografică
  • Mesajele cu structuri multipart/alternative complexe (HTML + text simplu + atașamente imbricate) sunt fragile de manipulat
  • Anteturile codificate non-ASCII (RFC 2047, în special pentru caractere japoneze, arabe sau chirilice) pot fi corupte de instrumente care nu gestionează corect aceste codificări
  • Cotele API Microsoft Graph și limitele de debit Exchange Online (eroarea 429 Too Many Requests) opresc scripturile care nu sunt proiectate pentru gestionarea backoff-ului exponențial
  • Un script care funcționează corect pe 500 de emailuri de test se oprește la ora 3 dimineața pe al 8.000-lea mesaj dintr-o cutie reală, fără mecanism de reluare

Și întrebarea care ucide: cum verificați că fiecare email corectat este intact după corecție? Că atașamentul este în continuare acolo? Că firul de discuție nu este rupt? Un script artizanal nu face, de obicei, această verificare.

Cum tratează Redate.io migrările iCloud spre Office 365

Redate.io se conectează direct la Office 365 prin permisiunile Microsoft 365 (Azure AD), fără a necesita acces la serverele iCloud. Emailurile sunt deja în Exchange Online în momentul în care Redate intervine.

Motorul de corecție al Redate analizează lanțul de antete al fiecărui mesaj pentru a identifica data originală, distingând anteturile Received: adăugate în timpul migrării de metadatele de dată legitime. Această analiză include o potrivire de tipare pe semnăturile instrumentelor de migrare cunoscute, ceea ce permite identificarea anteturilor parazite chiar și atunci când nu sunt imediat evidente.

Fiecare email corectat este verificat individual după procesare. Originalele sunt păstrate într-un dosar de backup vizibil timp de 30 de zile, lucru pe care niciun script artizanal nu îl face implicit. Scanarea inițială este gratuită și permite cuantificarea exactă a numărului de emailuri afectate înainte de a decide corectarea.

Redate suportă, de asemenea, migrările din Google Workspace spre Office 365 și corecțiile după migrare cPanel. Consultați de exemplu: date de email greșite după migrare Microsoft 365 sau date greșite după migrarea IMAP spre Exchange Online.

Mai întâi scanați, apoi corectați

Punctul de plecare recomandat pentru orice migrare iCloud spre Office 365 care a produs date incorecte: lansați scanarea gratuită Redate.io pe cutiile afectate. Scanarea identifică precis câte emailuri au un INTERNALDATE suspect și în ce dosare se află.

Durează între 12 și 45 de minute în funcție de volum și oferă o imagine clară a amplorii problemei înainte de orice intervenție. Pentru MSP-urile care gestionează mai multe cutii simultan după o migrare, această scanare pe loturi evită corectarea cutiilor care nu au nevoie de ea.

Dacă datele emailurilor dumneavoastră sunt incorecte după o migrare din iCloud, începeți cu scanarea gratuită pe Redate.io pentru a măsura amploarea problemei pe cutiile Office 365.

Articole conexe