Pogrešni datumi emailova nakon Zoho migracije na Microsoft 365

7 min čitanja Posljednje ažuriranje:

Što se dogodilo s Vašim sandučićem

Upravo ste dovršili migraciju domene s Zoho Maila na Microsoft 365. Exchange Online infrastruktura je postavljena, sandučići su provisioniran, MX zapisi su ažurirani. I onda, u ponedjeljak ujutro, korisnik otvori Outlook i primijeti da svi njegovi emailovi iz 2021. prikazuju današnji datum. Drugi korisnik vidi da su mu poruke od prošle godine poredane na vrhu pristigle pošte, kao da su tek stigle. Tiketi počinju pristizati.

Nije to greška Outlooka. Nije ni problem specifičan za Zoho. To se događa kada alat za migraciju ne prenese izvorni datum svakog emaila, i razumijevanje točno zašto se to događa prvi je korak prema ispravnom rješavanju.

Tehnički uzrok: INTERNALDATE i Received zaglavlja

Email pohranjen na IMAP poslužitelju sastoji se od dvije različite stvari: sirovog sadržaja poruke (RFC 2822 zaglavlja, tijelo, privitci) i metapodataka pohrane kojima upravlja IMAP poslužitelj, od kojih je najvažniji INTERNALDATE. Upravo taj metapodatak koriste klijenti za prikaz i sortiranje poruka.

Zaglavlje Date: definirano u sirovoj poruci (RFC 2822) predstavlja datum kada je poruka sastavljena ili poslana od strane pošiljatelja. INTERNALDATE je, pak, datum kada je IMAP poslužitelj primio ili pohranio poruku. Na zdravom poslužitelju te dvije vrijednosti su obično bliske. Nakon migracije, priča je sasvim drugačija.

Kako IMAP migracija može pokvariti datume

Kada alat za migraciju (Zoho Migration Wizard, imapsync, BitTitan ili bilo koji drugi) prenosi poruku iz Zoho Maila u Exchange Online, to čini putem IMAP protokola. Alat se spoji na Zoho, preuzme poruku, a zatim je umetne u Exchange Online putem IMAP APPEND naredbe. I tu počinju problemi.

Exchange Online čuva datum koji mu je predan: kada alat prenese izvorni INTERNALDATE svake poruke putem APPEND naredbe, kopija ga zadržava. Neki alati za migraciju to čine. Drugi to ne čine, ili to rade pogrešno, pa Exchange Online kao INTERNALDATE dodjeljuje trenutak umetanja, to jest datum migracije.

Rezultat: bio email poslan 2019. ili 2022., njegov INTERNALDATE sada pokazuje na tjedan migracije. Outlook tu vrijednost čita s prioritetom. Sortiranje se raspada.

Specifično ponašanje Zoho Migration Wizarda

Zoho nudi vlastiti alat za migraciju pri napuštanju platforme: Zoho Migration Wizard. Taj alat je praktičan za jednostavne migracije, ali ima dokumentirano ponašanje na administratorskim forumima: ne prenosi uvijek ispravno originalni INTERNALDATE pri umetanju na odredišni poslužitelj.

Da budemo precizniji: kada Zoho Migration Wizard preda originalni datum, Exchange Online ga čuva i Outlook prikazuje ispravan datum. E-poruke koje prikazuju datum migracije upravo su one čiji datum nije bio prenesen.

Administratori koji koriste generičke IMAP alate poput imapsynca za napuštanje Zohoa mogu naići na isti problem: imapsync kopira datum koji izvorni poslužitelj ima za svaku poruku, pa pogrešan datum na izvoru postaje pogrešan datum na odredištu. (Inače, ako ste ikada prolazili kroz imapsync log red po red u potrazi za greškom sinkronizacije u 2 ujutro, znate da je to moćan alat koji nije posebno blag prema rubnim slučajevima.)

Zašto Outlook prikazuje krivi datum

Outlook ne koristi samo zaglavlje Date: za prikaz datuma emaila. U većini prikaza koristi se INTERNALDATE koji dostavlja IMAP/Exchange poslužitelj, osobito za sortiranje pristigle pošte. Originalno zaglavlje Date: i dalje je prisutno u poruci, netaknuto, ali se ignorira u korist INTERNALDATEa.

Zato opcija "Sortiraj po datumu slanja" u Outlooku zapravo ne rješava problem. Prikazuje drugačiji datum, to jest točno, ali ponašanje sortiranja ostaje nestabilno ovisno o verziji Outlooka i načinu prikaza (grupirani razgovori ili ne). Sortiranje po datumu slanja nije rješenje. To je flaster koji otpadne pri prvoj nadogradnji klijenta.

Stvarni opseg problema

Na migraciji Zoho prema Microsoft 365 srednje veličine, lako je zahvaćeno između 50.000 i 500.000 poruka, ovisno o starosti sandučića i veličini organizacije. Svaki email prenesen tijekom migracijskog prozora nosi isti pogrešan datum, što problem čini odmah vidljivim korisnicima pri prvom otvaranju Outlooka.

Mape Poslano često su najproblematičnije. Prodajni djelatnik koji traži ponudu poslanu u ožujku 2022. mora pretraživati stotine emailova koji svi prikazuju datum migracije. Operativni utjecaj je stvaran, nije samo estetski.

Za razliku od onoga što bi se moglo pomisliti, problem ne nestaje s vremenom. INTERNALDATE se postavlja u trenutku umetanja. Ne ispravlja se sam od sebe. Bez aktivne intervencije, emailovi će zauvijek zadržati pogrešan datum.

Zašto je ručna korekcija riskantnija nego što izgleda

Iskušenje je razumljivo: budući da je originalno zaglavlje Date: i dalje u poruci, dovoljno je... ispraviti metapodatke. Na papiru, logično. U praksi, na produkcijskom sandučiću s 80.000 emailova, to je operacija koja može katastrofalno poći po krivu.

Evo nekoliko rubnih slučajeva s kojima se kućni skript vjerojatno neće dobro nositi:

  • S/MIME potpisani emailovi, čiji potpis pokriva sva zaglavlja. Svaka izmjena u strukturi poruke poništava kriptografski potpis.
  • PGP šifrirane poruke, gdje je sadržaj neproziran i svaka manipulacija MIME omotima može oštetiti poruku.
  • Non-ASCII zaglavlja kodirana prema RFC 2047 (nazivi pošiljatelja s posebnim znakovima), koja se pokvare ako skript ne rukuje ispravno kodiranjem.
  • Privitci kodirani u base64 s loše završenim recima, nestandardnim MIME granicama ili ugniježđenim multipart strukturama.
  • Emailovi bez valjanog zaglavlja Date: (to postoji, osobito u starim Zoho izvozima), gdje skript mora odlučiti što učiniti.

Skript koji radi na 50 testnih emailova neće raditi na produkcijskom Zoho sandučiću s godinama arhive. I kako provjeriti, poruku po poruku, da je svaka korekcija netaknuta i da privitci nisu skraćeni? Verifikacija je barem jednako složena kao i sama korekcija.

Tu je i pitanje kvota. Exchange Online API, putem Microsoft Grapha, nameće stroga ograničenja brzine (poznate 429 Too Many Requests greške). Batch bez throttlinga na 100.000 poruka može izazvati privremene blokade ili tihe greške koje je teško dijagnosticirati naknadno. Bez mehanizma za nastavak nakon prekida, počinjete ispočetka.

Kako Redate.io ispravlja datume nakon Zoho migracije

Svaki korisnik se prijavljuje svojim Microsoftovim računom, a Redate.io otvara samo taj sandučić s pravima koja ta prijava daje. Početno skeniranje je besplatno: Redate.io identificira zahvaćene sandučiće i procjenjuje volumen emailova s netočnim datumima, uspoređujući INTERNALDATE s vrijednostima u lancu zaglavlja poruke.

Korekcija koristi vlasnički motor koji analizira kompletan lanac zaglavlja svake poruke, ne mora znati koji je alat izvršio migraciju (Zoho Migration Wizard, imapsync ili neki drugi), te rekonstruira metapodatke datuma putem višefaznog validacijskog pipelina. Svaki ispravljeni email se individualno verificira: integritet sadržaja, očuvanje privitaka, RFC sukladnost. Originali se čuvaju u vidljivoj mapi Vašeg sandučića sve dok ih sami ne obrišete.

Nema ponovne migracije. Nema zastoja. Korisnici nastavljaju koristiti Outlook dok se korekcija izvodi u pozadini.

Cijena je jednokratna uplata ovisno o volumenu, bez pretplate. Detalji su dostupni izravno na web-stranici.

Ako upravljate više migracija paralelno, ili ste MSP koji administrira klijente koji napuštaju Zoho, imajte na umu da se isti problem pojavljuje pri migracijama s drugih platformi prema Exchange Onlineu. Mehanika je identična: kopija dobiva datum koji joj alat proslijedi, bez obzira na izvor.

Za migracije s Google Workspacea, s on-premises Exchangea ili putem alata poput BitTitan MigrationWiza ili CloudMa, detaljni članci na blogu Redatea opisuju ponašanja specifična za svaki alat. Članak Pogrešni datumi emailova nakon migracije na Exchange Online daje pregled svih scenarija koji završavaju na tom tenanu.

Ako Vaša migracija uključuje dijeljene sandučiće ili Exchange resurse (sobe, opremu), problem je isti, a isti alati za korekciju se primjenjuju. Članak o datumima dijeljenih poštanskih pretinaca detaljno opisuje specifičnosti tih scenarija.

Za timove koji koriste imapsync specifično za napuštanje Zohoa, članak imapsync: datumi nisu sačuvani dokumentira opcije konfiguracije imapsynca i odakle stvarno dolaze pogrešni datumi.

Datumi Zoho migracije i dalje se prikazuju u Outlooku? Skenirajte Vaše sandučiće besplatno na Redate.io kako biste izmjerili točan opseg problema prije nego što odlučite kako djelovati.

Povezani članci