A forgatókönyv, amelyre senki nem számít
Végrehajtotta a migrációt az egyik Google Workspace tenantból a másikba. Felvásárlás, domainnév-váltás, két különálló G Suite-fiókban évekig párhuzamosan élő cégegység összevonása. Az átköltözés sikeresen zajlott le, a postaládák a helyükön vannak, a felhasználók bejelentkeznek. Hétfő reggel jön az első ticket: „Minden emailemen ugyanaz a dátum szerepel." Majd a második. Majd tíz.
Az első reflexe valószínűleg ez: biztosan IMAP-probléma, rosszul beállított eszköz, valami egzotikus hiba. Nem egy Google-ból Google-ba történő migráció. Pedig pontosan ott csúszik el valami.
Ez a forgatókönyv valószínűleg a leghiányosabban dokumentált az iparágban. A legtöbb IT-adminisztrátor, aki találkozik vele, órákat tölt el a levelezőprogramban, az Outlookban, a fiókbeállításokban keresgélve, mielőtt rájön, hogy a probléma magukban az email fejlécekben van.
Miért rontja el a Google-ból Google-ba migráció a dátumokat
A jelenség megértéséhez vissza kell menni az email fejlécek működéséhez. Minden RFC 2822-es üzenet tartalmaz egy eredeti Date: mezőt, amelyet a küldő kliens vagy szerver az üzenet elküldésekor állít be. Ez az email „valódi" dátuma, az a pillanat, amikor az üzenetet megírták és elküldték.
De létezik egy másik mechanizmus is: az IMAP INTERNALDATE. Ez egy szerveroldali metaadat, amely azt jelzi, mikor érkezett meg az üzenet a postaládába. És itt válik érdekessé a dolog.
Amikor egy migrációs eszköz átvesz egy emailt az egyik Google Workspace tenantból a másikba, az IMAP protokollon keresztül teszi ezt (még akkor is, ha mindkét szerver a Google-nál van). Az üzenetet beolvassák a forrásból, majd beillesztik a célpostaládába. Ennél a beillesztésnél a célszerver automatikusan hozzáfűz egy Received: fejlécet az aktuális időbélyeggel, azaz a migráció dátumával.
Az olyan levelezőprogramok viszont, mint az Outlook, a lánc első Received: fejlécét használják az üzenet dátumának megjelenítéséhez, nem feltétlenül az eredeti Date: mezőt. Eredmény: minden email a migráció napjának dátumát mutatja.
Mely eszközök okozzák a problémát
Gyakorlatilag minden eszköz érintett, amelyet Google Workspace tenantok közötti migrációhoz használnak. Nincs érdemi kivétel:
- GSMMO (Google Workspace Migration for Microsoft Outlook): eredetileg Exchange-ből való migrációra tervezték, de bizonyos GWS-ből GWS-be irányuló folyamatokban is alkalmazzák.
- CloudM Migrate: az MSP-k körében elterjedt eszköz Google-tenantok közötti migrációhoz, amely szisztematikusan hozzáad egy migrációs
Received:fejlécet. Részletes elemzés a CloudM hibás email dátumokról szóló cikkben. - BitTitan MigrationWiz: ugyanez a viselkedés, a részletekről bővebben a BitTitanról szóló cikkben.
- imapsync: a nyílt forráskódú eszköz, amellyel IMAP-migrációk szkriptelhetők, beleértve a két Google-tenant közötti átvitelt is.
- Manuális Takeout + IMAP-reimport módszer: ritkábban alkalmazzák, de pontosan ugyanolyan hatással jár.
Az ok egyszerű: ezek az eszközök mindegyike normál IMAP-kliensként működik. Nincs hozzáférésük olyan „natív" Google-csatornához, amely megőrizné a metaadatokat. Még ha mindkét tenant a Google-nál is van, az átvitel az IMAP-rétegen halad át, és ez a réteg nem tudja, hogy saját magával kommunikál.
A Received fejlécek mechanizmusa részletesen
(Egyébként, ha valaha próbálta olvasni egy email nyers fejléceit a Gmailben vagy az Outlookban, tudja, hogy ez ritkán kellemes szórakozás. De a teljes igazság ott rejtőzik.)
Egy normálisan kézbesített email a szállítási útvonalon megfordított sorrendben tartalmaz Received: fejléceket: az utoljára érintett szerver kerül legfelülre. Migráció után a migrációs fejléc kerül a sor elejére.
Így néz ki egy CloudM segítségével, egyik GWS tenantból a másikba migrált üzenetben:
Received: from mail-migration.cloudm.io (mail-migration.cloudm.io [203.0.113.42])
by mx.google.com with ESMTPS id xyz123
for <felhasznalo@ujdomaine.com>
; Mon, 14 Oct 2024 09:17:32 +0000 (UTC)
Received: from mail-relay.google.com ...
; Tue, 5 Mar 2019 14:22:08 +0000
Date: Tue, 5 Mar 2019 14:22:08 +0000
A Date: mező 2019-et mutat. Az első Received: 2024 októberét. Az Outlook az első Received: fejlécet olvassa. A felhasználó 2024 októberét lát egy 2019-es emailnél.
Az eredeti Date: mező érintetlen. Nem mozdult. Ez a jó hír: az adat ott van, csak arra vár, hogy helyesen használják.
Az Outlook és a Gmail nem ugyanúgy viselkedik
Ez fontos különbség. Azok a felhasználók, akik a Gmail webes felületén érik el leveleiket, általában a helyes dátumokat látják, mert a Gmail az RFC 2822-es Date: mezőt részesíti előnyben az üzenetek megjelenítésekor. A webes felületen a probléma kevésbé szembetűnő.
Ezzel szemben azok a felhasználók, akik a Google Workspace postaládájukat IMAP-on keresztül az Outlookban (vagy Exchange ActiveSync-szinkronizációval) konfigurálták, teljes egészében a rossz dátumot látják, mert az Outlook az IMAP INTERNALDATE-re támaszkodik, amely a migráció során hozzáadott első Received: fejléc dátumát tükrözi.
Pontosítás: az Outlook viselkedése a verziótól és a kapcsolódási módtól függ. Az Outlook 2019 és a Microsoft 365 (újabb verziók) az IMAP-kapcsolat esetén az INTERNALDATE-et használja. A régebbi verziók kissé eltérően viselkedhetnek. De minden éles rendszerben megfigyelt esetben a GWS-ből GWS-be IMAP-on keresztül végzett migráció helytelen dátumokat eredményez az Outlookban.
Ennek következtében azoknál a szervezeteknél, amelyek új tenantba migráltak és vegyes felhasználói bázist tartanak fenn (egyesek Gmail-weben, mások Outlookban), a beérkező ticketek következetlenek. Az IT-csapatok időt töltenek azzal, hogy megértsék, „miért érinti egyeseket és másokat nem", miközben a válasz egyszerű: a különbség a levelezőprogramban van.
Felvásárlások, fúziók, domainnév-váltások: a leggyakoribb esetek
Ez a migrációtípus korántsem ritka. A legtöbb ticketet ezek a forgatókönyvek generálják:
Vállalati felvásárlás
A felvásárolt cégnek saját Google Workspace tenantja volt (@regiVallalatNev.com domainnel). A felvásárlás után mindent át kell vinni az anyavállalat tenantjába (@csoport.com). A 250 postaláda, az archívumok, a 8 évnyi email-előzmény. A BitTitant vagy a CloudM-et bízzák meg a feladattal. Eredmény: 2,4 millió email a migrációs hétvége dátumával.
Domainnév-váltás
Egy rebranding során a vállalat @reginevu.hu-ról @ujnevu.hu-ra vált. Ugyanaz a Google-tenant, de a tiszta kezdés érdekében új tenantot hoznak létre (ez egy bevett megközelítés a konfigurációs örökség elkerülésére). A postaládák migrálása imapsync-kel vagy GSMMO-val történik. A dátumok pontosan ugyanúgy romlanak el.
Leányvállalatok konszolidációja
Egy csoport 4 leányvállalattal, mindegyik a saját, régi G Suite tenantján, úgy dönt, hogy mindent egyetlen tenantba von össze. Négy párhuzamos migráció, négy adag megsérült dátumú email, amelyeket kezelni kell.
Mindhárom esetben a probléma azonos, és a megoldás is ugyanaz. Az email-migrációs ellenőrzőlista segít megelőzni az ilyen jellegű problémákat a migráció indítása előtt.
Miért nem megoldás egy saját szkript
A probléma megértése egy dolog. Azt mondani magunknak, hogy „írok egy Python-szkriptet, amely megtisztítja a fejléceket", majd alkalmazni azt 30 000 éles emailre, az egészen más.
A szélső esetek száma nagy. Egy szkript, amely 50 tesztemailnél jól működik egy tiszta környezetben, éles méretű postaládán szükségszerűen találkozni fog a következőkkel:
- S/MIME aláírással ellátott vagy PGP-vel titkosított üzenetek, ahol az üzenetstruktúra bármilyen módosítása érvényteleníti a kriptográfiai aláírást.
- Komplex beágyazott MIME-struktúrájú emailek (multipart/alternative egy multipart/mixed elemen belül, több tízmegabájtos mellékletekkel).
- RFC 2047 szerint kódolt fejlécek (nem ASCII karakterek), amelyeket a rosszul konfigurált parserek csendben elrontanak.
- 429 Too Many Requests hibák a Google API-tól hajnali 2-kor, egy javítási batch közepén, amelyek meghatározatlan állapotban hagyják a folyamatot.
- Emailek, amelyekben a
Received:-lánc kétértelmű: egymást követő migrációs eszközök mindegyike hozzáadta a saját fejlécét, és nem triviális eldönteni, melyiket kell eltávolítani.
A legfontosabb kérdés: hogyan ellenőrizzük emailenként, hogy minden javított üzenet érintetlen, és semmi sem veszett el vagy sérült meg? Egy saját szkript általában nem végzi el ezt az ellenőrzést. A Redate.io automatikusan elvégzi, az eredeti üzenetek megőrzésével egy 30 napig látható biztonsági mentési mappában.
Mit csinál a Redate.io ilyen jellegű migráció esetén
A Redate.io csatlakozik a Google Workspace céltenanthoz (domain-delegáción keresztül, postaládánkénti manuális beavatkozás nélkül), és megvizsgálja az emaileket, hogy azonosítsa azokat, amelyek dátum-metaadatai nem egyeznek az üzenet tartalmával. Ez a szkennelési fázis ingyenes, és pontos képet ad a probléma mértékéről bármilyen javítás előtt.
A szabadalmaztatott korrekciós motor ezután elemzi az egyes üzenetek fejléc-láncát, mintaegyeztetést végez az ismert migrációs eszközök aláírásaival (BitTitan, CloudM, imapsync, GSMMO és más, kevésbé elterjedt eszközök), majd célzott metaadat-korrekciót hajt végre az üzenet tartalmának módosítása nélkül. Minden javított emailt egyenként ellenőriz. Az eredeti üzenetek megmaradnak.
A Google Workspace-tenantok közötti migrációknál a rendszer kezeli azokat az eseteket is, amikor több migrációs menet zajlott le (például egy postaládát először 2021-ben, majd ismét 2024-ben migráltak), ahol több parazita fejlécréteget kell kibogozni.
A konkrét javítási útmutatók: CloudM a Google Workspace-ben és BitTitan a Google Workspace-ben tartalmazzák a csatlakoztatási lépéseket ehhez a konfigurációhoz.
A probléma észlelése, mielőtt a felhasználók szólnának
A megsérült dátumok felderítésének legjobb pillanata közvetlenül a migráció után van, az éles indítás előtt. Néhány pilot postaládán végzett gyors ellenőrzés egy olyan IMAP-klienssel, mint a Thunderbird, lehetővé teszi a megjelenített dátumok összehasonlítását az elvárásokkal. Ha minden importált email ugyanazt a friss dátumot mutatja, ez a probléma jellegzetes tünete.
A valóságban azonban a probléma felfedezése gyakran hetekkel a migráció után történik, amikor egy felhasználó egy régi szerződést keres, és rájön, hogy Gmail-fiókja tökéletesen rendezett... a migráció dátuma szerint. Ezernyi email torlódik ugyanazon az időbélyegen. A dátum szerinti keresés nem működik. A levelezési szálak összekeverednek. Az előzmények mintha eltűntek volna.
Az MSP-k számára, amelyek rendszeresen kezelnek Google Workspace tenantok közötti migrációkat, a Redate.io-szkennelés beillesztése a migrációt követő ellenőrzőlistába (az ügyfél-jóváhagyás előtt) elkerülhetővé teszi az ilyen meglepetéseket.
Két Google Workspace tenant között migrált, és az emailek dátuma helytelen? Indítson ingyenes szkennelést a Redate.io-n, és mérje fel a probléma mértékét bármilyen javítás előtt.