Exchange IMAP import: proč se data kazí

7 min čtení Poslední aktualizace:

Exchange IMAP importy a datum Vašich e-mailů

Exchange Online dává každé zprávě ve schránce datum, a to je datum, které Outlook zobrazuje a podle kterého řadí. U e-mailu, který přijde z internetu, je to okamžik doručení. U e-mailu zkopírovaného migrací je to datum, které migrace kopii dala: původní datum, pokud ho migrace předá dál, datum importu, pokud ne.

Odtud pochází chybné datum e-mailů po Exchange IMAP importu. Exchange Online datum, které dostane, nepřepisuje. Ale když import nepředá původní datum každého e-mailu, kopie sedm let staré zprávy dostane datum importu, jako by právě dorazila.

Výsledek? Naimportujete 4000 e-mailů ze starého IMAP serveru do Exchange Online, a e-maily zobrazují datum importu místo svého vlastního. E-maily z roku 2018, 2020, 2023, datované dnešním dnem. Vaši uživatelé v pondělí ráno otevřou Outlook a uvidí stěnu zpráv se stejným datem.

Jak funguje průvodce migrací v Exchange Admin Center

Exchange Admin Center (EAC) obsahuje vestavěného průvodce migrací pro IMAP importy. Je to grafické rozhraní, ke kterému většina správců Exchange sáhne jako první: přejdete na Příjemci, pak Migrace, vytvoříte novou dávku, vyberete "Migrovat do Exchange Online", zvolíte IMAP jako zdroj, nahrajete CSV s mapováním schránek a spustíte dávku.

V zákulisí průvodce migrací EAC vytvoří New-MigrationBatch s typem endpointu nastaveným na IMAP. Exchange se připojí ke zdrojovému IMAP serveru, přečte každou zprávu a zapíše ji do cílové schránky Exchange Online. Na papíře jednoduché.

Ale s tímto se správci potýkají. Microsoft nedokumentuje, jak migrace nastavuje datum každé zkopírované zprávy, a správci hlásí e-maily, které vyjdou s datem synchronizace místo data, kdy byly doručeny. Outlook, OWA a každý další klient připojený k této schránce pak toto datum používají pro zobrazení a řazení.

Původní hlavička Date: z roku 2019? Stále je tam, schovaná v hlavičkách zprávy. Ale Exchange ji nepoužívá pro pořadí řazení ve Vaší schránce.

Date: Fri, 22 Nov 2019 16:08:33 +0100

PowerShell: New-MailboxImportRequest a stejný problém

Správci, kteří preferují příkazovou řádku, se často obrací na New-MailboxImportRequest pro import PST souborů, nebo na New-MigrationBatch s IMAP endpointy pro migrace mezi servery. Očekávání je, že PowerShell dá víc kontroly. A dává, u některých věcí. Ne u data.

New-MailboxImportRequest importuje PST soubory do schránek Exchange Online. PST soubor obsahuje původní časové značky pro každou zprávu. Ale příkaz PowerShell nemá parametr, který by řídil, jaké datum dostane každá importovaná zpráva. Neexistuje žádný přepínač -PreserveDates (a věřte, správci ho hledali).

New-MigrationBatch -SourceEndpoint s IMAP endpointem funguje podobně jako průvodce EAC, jen bez grafického rozhraní. Stejné IMAP připojení, stejný výsledek pro datum. Příkaz nabízí parametry pro filtrování podle časového rozsahu (-StartAfter, -CompleteAfter) a vylučování složek, ale nic, co by řídilo, jak Exchange zachází s časovou značkou příchozí zprávy.

Přesněji řečeno, toto ovlivňuje hlavně zobrazované datum a pořadí řazení. Obsah zprávy, včetně původní hlavičky Date, dorazí neporušený. Špatné je jen datum, které kopie dostala, a to je to, co stojí za vším, co uživatel vidí.

Přímý IMAP import vs. nástroje třetích stran

Hraje roli, jestli použijete nativní IMAP import Exchange, nebo nástroj třetí strany jako BitTitan MigrationWiz nebo CloudM? Krátká odpověď: problém s datem nastane v obou případech, jen z trochu jiných důvodů.

U nativního IMAP importu Exchange (průvodce EAC nebo PowerShell) se Exchange sám připojí ke zdrojovému IMAP serveru a stáhne zprávy. Jak nastaví datum každé kopie, je na Microsoftu a není to zdokumentováno.

U nástrojů třetích stran funguje migrační nástroj jako prostředník. Čte ze zdroje, případně zprávu transformuje a zapisuje do Exchange Online. Když nástroj zapisuje přes IMAP, Exchange Online zachová datum, které nástroj předá: pokud nástroj odešle původní datum každého e-mailu, kopie si ho zachová; pokud ne, kopie dostane datum migrace. Některé nástroje také při předání přidají vlastní hlavičku Received:.

Praktický rozdíl? Hlavičky, které zůstanou po nástroji, nejsou od jednoho nástroje ke druhému stejné, takže se oprava nemůže spoléhat na jeden pevný vzor. Podstata problému je stejná: zobrazené datum není původní datum e-mailu.

Proč transportní pravidla Exchange Online situaci zhoršují

Tady je něco, co překvapí i zkušené správce Exchange. Exchange Online má transportní pravidla (nyní v administračním centru nazývaná "pravidla toku zpráv"), která se mohou spustit i na importovaných zprávách. Pokud má Vaše organizace pravidla, která razí hlavičky, přidávají upozornění nebo upravují zprávy na základě podmínek, tato pravidla mohou zpracovat i importované e-maily.

To znamená, že e-mail z roku 2020 může získat přidanou patičku s upozorněním, nebo hlavičku X- přidanou pravidlem pro dodržování předpisů, které v době odeslání původního e-mailu ještě neexistovalo. Chybné datum je nejviditelnějším příznakem, ale transportní pravidla mohou vytvořit další neočekávané úpravy.

Lze transportní pravidla během importu vypnout? Ano, dočasně. Ale většina správců na to nemyslí, protože nečekají, že transportní pipeline zpracuje migrované zprávy. Než si uvědomí, co se stalo, dávka importu je dokončená a škoda je hotová.

Co znamená špatné datum v prostředích Exchange

Exchange prostředí bývají firemní prostředí. Advokátní kanceláře, finanční instituce, zdravotnické organizace, státní úřady. Nejde o osobní účty Gmail, kde je špatné datum jen mírně obtěžující. Jde o schránky, kde mají časové značky e-mailů právní a regulatorní význam.

Litigation hold v Exchange zachovává e-maily podle časových rozsahů. Pokud každý importovaný e-mail zobrazuje datum importu místo původního data, hold zachytí špatnou sadu zpráv. eDiscovery vyhledávání "veškerá komunikace mezi lednem a březnem 2022" nevrátí nic, protože tyto e-maily teď zobrazují duben 2026.

Retenční politiky naráží na stejný problém. Organizace s tříletou retenční politikou může omylem odstranit e-maily, které vypadají, že jsou z roku 2026 (a jsou tedy "nové"), i když jsou ve skutečnosti z roku 2019 a měly by být zachovány. Nebo naopak: e-maily, které měly být podle retenční politiky vymazány, zůstávají, protože jejich zjevné datum je nedávné.

Jeden případ z konce roku 2025: poskytovatel IT služeb migroval okolo 200 schránek od hostovaného poskytovatele Exchange do Microsoftu 365 pomocí průvodce migrací EAC. O tři týdny později referent pro dodržování předpisů klienta upozornil, že čtvrtletní zprávy o archivaci e-mailů ukazují každou archivovanou zprávu se stejným datem. Celý e-mailový archiv, sahající 5 let zpět, vypadal, jako by dorazil v jedno konkrétní úterý v listopadu.

Jak opravit datum po Exchange IMAP importu

Původní hlavička Date: import přežije neporušená. Import neupravuje původní hlavičky RFC 2822 uvnitř zprávy. Toto původní datum je pevným bodem pro opravu.

Redate.io se připojí ke schránce Exchange Online (každý se přihlásí svým vlastním účtem Microsoft), zkontroluje zprávy, jejichž zobrazené datum neodpovídá původnímu datu v důsledku IMAP importu, a použije proprietární opravný nástroj, který provádí ověření souladu s RFC, zachování struktury zprávy a cílenou rekonstrukci metadat. Redate nepotřebuje znát, jaký nástroj import provedl: najde e-maily, jejichž zobrazené datum neodpovídá jejich původnímu datu.

Každá opravená zpráva se ověřuje jednotlivě: neporušenost obsahu, kontrolní součty příloh, umístění ve složce a vlákna konverzace. Originály zůstávají ve viditelné záložní složce Vaší vlastní schránky, dokud je sami neodstraníte. Pokud něco vypadá špatně, návrat zpět je na jedno kliknutí.

Proč to neopravit skriptem v PowerShellu? Protože pochopit problém s hlavičkami Received je ta snadná část. Opravit 8000 e-mailů v 50 schránkách bez poškození zpráv podepsaných S/MIME, rozbití vnořených struktur MIME, znetvoření hlaviček RFC 2047 s neanglickými znaky nebo ztráty přiřazení do složek, to je ta těžká část. Jak ověříte, že každá jednotlivá opravená zpráva v produkčním prostředí je neporušená, že žádná příloha nezmizela, že žádné vlákno konverzace nebylo přerušené? Skript, který funguje na testovací schránce s 30 zprávami, se zadaví na skutečných hraničních případech. Co ta smlouva s přílohou o 42 MB a třemi vloženými obrázky uvnitř struktury multipart/mixed, zabalené v obálce multipart/alternative? Přeju hodně štěstí.

Průvodci podle platforem

Datum se opravuje na úrovni schránky Exchange Online, ale uživatelé přistupují ke svým e-mailům přes různé klienty. Každý zobrazuje data jinak:

Hledáte širší kontext problémů s daty Microsoft 365 napříč různými migračními nástroji? Podívejte se na kompletní průvodce, jak opravit datum e-mailů po migraci Microsoft 365.

Import Exchange IMAP zanechal Vaše schránky se špatným datem? Začněte bezplatnou kontrolou a zjistěte, kolik e-mailů je ovlivněno a kolik bude oprava stát, bez nutnosti platební karty.

Související články