Vianmäärityskeino, joka rikkoo päivämäärät
Käyttäjä valittaa, että Outlook ei enää synkronoidu. Sähköpostit eivät saavu, Lähetetyt-kansio ei päivity, pyörä pyörii loputtomasti. Teknikko diagnosoi vioittuneen profiilin, poistaa OST-tiedoston ja luo Outlook-profiilin alusta uudelleen. Tulos: Outlook yhdistää uudelleen, sähköpostit ilmestyvät takaisin, kaikki näyttää toimivan.
Kunnes seuraavana aamuna käyttäjä avaa postilaatikkonsa ja huomaa, että 8 vuoden kirjeenvaihto näyttää saman päivämäärän: tänään.
Oire on täsmälleen sama kuin epäonnistuneessa IMAP-siirrossa. Ja samoista syistä.
Mitä tapahtuu teknisesti
Ymmärtääkseen, miksi profiilin uudelleenluominen tuottaa tämän tuloksen, on palattava erotteluun, jonka useimmat teknnikot tuntevat huonosti: ero sähköpostin Date:-otsikkokentän ja sen IMAP-INTERNALDATEn välillä.
Jokainen sähköposti sisältää RFC 2822 -otsikoissaan Date:-kentän, joka kertoo, milloin viesti lähetettiin. Lähettäjän sähköpostiohjelma kirjoittaa tämän kentän lähetyshetkellä, ja se kulkee muuttumattomana kaikkien palvelimien läpi postilaatikkoosi. Se ei koskaan muutu. 14. maaliskuuta 2019 klo 09:32 lähetetyssä sähköpostissa on aina tämä Date:-kenttä ehjänä, riippumatta siitä, mitä sen jälkeen tapahtuu.
IMAP-INTERNALDATE on eri asia. Se on postipalvelimen hallitsema metatietokenttä, joka on riippumaton viestin sisällöstä. Se kertoo, milloin viesti on "tallennettu" postilaatikkoon. Normaalioloissa, kun sähköposti saapuu SMTP:n kautta, palvelin tallentaa vastaanottamisajan INTERNALDATEksi. 14. maaliskuuta 2019 vastaanotetulla sähköpostilla on siis INTERNALDATE, joka vastaa lähetyspäivää.
Outlook lajittelee ja näyttää sähköpostit oletuksena IMAP-palvelimen välittämän INTERNALDATEn perusteella, ei itse viestin Date:-kentän mukaan. (Muuten, jos olet joskus avannut sähköpostin täydelliset ominaisuudet Outlookissa nähdäksesi raakaotsikoita, tiedät ettei se ole rantakirjalukemista.)
Mitä OST-tiedoston poistaminen käynnistää
Kun Outlook käyttää IMAP-tiliä, se ylläpitää paikallista tietokantaa: OST-tiedostoa (Offline Storage Table). Tämä tiedosto on paikallinen peilikuva palvelimelle tallennetuista sähköposteista metatietoineen, lukutiloineen ja luokitteluineen.
OST-tiedoston poistaminen tarkoittaa tämän paikallisen peilikuvan pyyhkimistä. Outlook joutuu siis lataamaan kaiken uudelleen IMAP-palvelimelta.
Ongelma? Kun Outlook lataa viestin uudelleen IMAP:n kautta, se käyttää FETCH-komentoa sisällön noutamiseen. Mutta se ei käytä systemaattisesti FETCH INTERNALDATE -komentoa alkuperäisen IMAP-päivämäärän noutamiseen ja säilyttämiseen. Tietyissä Outlook-kokoonpanoissa ja -versioissa ohjelma rakentaa paikallisen hakemistonsa käyttäen päivämäärää, jolloin se latasi viestin uudelleen, eikä palvelimelle tallennettua INTERNALDATEa.
Ja niin kaikki postilaatikon sähköpostit saavat uudelleenlatauksen päivämäärän.
Kaikki Outlook-versiot eivät käyttäydy samoin
Tarkennuksena: tämä käyttäytyminen ei kosketa kaikkia Outlook-versioita yhdenmukaisesti, ja juuri siitä ongelman diagnosointi on hankalaa.
Outlook 2016 ja 2019 IMAP-tilassa sisältävät dokumentoituja virheitä väärässä hakemiston uudelleenrakennuksessa välimuistin poiston jälkeen. Uusi Outlook (web-pohjainen, vaiheittain käyttöönotettu vuoden 2023 loppupuolelta alkaen) hallitsee välimuistia eri tavalla ja voi tuottaa vaihtelevia tuloksia. Exchange/Microsoft 365 -tilissä Exchange-tilaan määritetty Outlook on vähemmän altis tälle ongelmalle, koska MAPI/Exchange-protokolla hallitsee synkronointia eri tavalla kuin IMAP.
Mutta jos käyttäjällä on IMAP-tili määritettynä perinteisessä Outlookissa ja teknikko on poistanut OST-tiedoston tai luonut profiilin uudelleen: riski on todellinen.
Kuinka erottaa tämä tapaus oikeasta siirrosta
IT-ylläpitäjä, joka saa tikettejä "päivämääräni ovat väärin" profiilin uudelleenluomisen jälkeen, saattaa virheellisesti luulla kyseessä olevan siirto-ongelma. Näin erotat nämä kaksi tapausta toisistaan.
IMAP-siirron tapaus
IMAP-siirron yhteydessä (BitTitan, CloudM, imapsync jne.) siirtotyökalu kopioi sähköpostit palvelimelta toiselle. Jokaiselle kopioidulle viestille se luo uuden merkinnän kohdepalvelimelle IMAP APPEND -komennolla. Jos työkalu ei eksplisiittisesti määritä alkuperäistä INTERNALDATEa tässä komennossa, kohdepalvelin tallentaa nykyisen kellonajan INTERNALDATEksi. Lisäksi jotkut työkalut lisäävät siirtopäivämäärällä varustetun Received:-otsikon, mikä pahentaa ongelmaa tietyissä sähköpostiohjelmissa. Mekanismin yksityiskohdat löydät artikkelista IMAP INTERNALDATE: miksi päivämäärät hajoavat.
Profiilin uudelleenluomisen tapaus
Tässä tapauksessa sähköpostit ovat edelleen samalla palvelimella, samoilla alkuperäisillä INTERNALDATE-arvoilla. Palvelinpuolella ei ole muuttunut mitään. Ainoastaan Outlookin paikallinen välimuisti on rakennettu uudelleen väärillä päivämäärillä. Näkyvä oire on identtinen (kaikki sähköpostit näyttävät saman viimeaikaisen päivämäärän), mutta alkuperä on eri.
Varmistamiseksi: kirjaudu postilaatikkoon webmailin kautta (Gmail, Outlook.com tai palveluntarjoajasi webmail). Jos webmailissa näkyvät päivämäärät ovat oikein, ongelma on puhtaasti paikallinen Outlookissa. Jos päivämäärät ovat väärin myös webmailissa, ongelma on palvelinpuolella (siirto tai INTERNALDATE-arvojen muuttuminen palvelimella itsellään).
Miksi alkuperäiset päivämäärät ovat yhä tallessa
Hyvä uutinen: molemmissa tapauksissa (siirto tai profiilin uudelleenluominen) alkuperäiset päivämäärät eivät ole kadonneet.
RFC 2822:n Date:-otsikko on erottamaton osa viestiä. Se on yhtä muuttumaton kuin viestin teksti tai liitetiedostot. Vuonna 2017 lähetetty sähköposti sisältää raakadatassaan jotain tällaista:
Date: Mon, 12 Jun 2017 14:23:41 +0200
Tämä rivi on palvelimelle tallennetussa viestissä. Sitä ei ole muutettu. Se, mitä Outlook näyttää (virheellisesti), on viestin sisällöstä erillinen metatietokenttä.
Tämä tekee korjauksen mahdolliseksi. Redate.io:n moottori analysoi jokaisen viestin otsikkoketjun todellisen alkuperäispäivämäärän selvittämiseksi, minkä jälkeen se kohdistaa metatietokenttien korjauksen muuttamatta viestin sisältöä. Outlookin näkemä INTERNALDATE rakennetaan uudelleen tästä aidosta tiedosta, joka on aina läsnä viestissä.
"Puhtaan" uudelleenluomisen sudenkuoppa
Olet juuri ratkaissut synkronointiongelman käyttäjälle. Hänen Outlookinsa toimii taas, uudet sähköpostit saapuvat. Suljet tiketin.
Kolme päivää myöhemmin käyttäjä soittaa takaisin: hän etsii viime vuodelta toimittajalta saatua sähköpostia, mutta Outlookissa kaikki vuoden 2023 viestit näyttävät saapuneen "eilen". Hän ei löydä mitään. Automaattinen arkistointi on ehkä luokitellut viimeaikaiset sähköpostit vanhoina. Ja hänen esimiehensä pyytää syyskuun 2022 sähköpostiketjua oikeudenkäyntiä varten.
Tämä skenaario toistuu säännöllisesti. Ei siksi, että teknikko olisi tehnyt jotain väärin, vaan koska tätä Outlookin käyttäytymistä ei ole dokumentoitu selvästi tavanomaisissa vianmääritysoppaissa.
Väärät ratkaisut, jotka eivät auta
Sähköpostien lajittelu Outlookissa "Lähetyspäivän" mukaan "Saapumispäivän" sijaan on ensimmäinen asia, jota käyttäjät yrittävät. Ja se näyttää toimivan... kunnes he huomaavat, että lajittelu lähetyspäivän mukaan on käytettävissä vain tietyissä kansioissa, häviää näkymää vaihtaessa ja muut sovellukset (mobiili, webmail, automaattiset lajittelusäännöt) käyttävät edelleen väärää INTERNALDATEa.
Lajittelu lähetyspäivän mukaan ei ole ratkaisu. Se on laastari, joka peittää oireen koskematta todelliseen ongelmaan. Artikkeli Lajittelu lähetyspäivän mukaan ei ole ratkaisu selittää tämän tarkemmin.
Profiilin luominen uudelleen toisen kerran? Se ei muuta mitään, jos Outlook rakentaa välimuistinsa uudelleen nykyisellä päivämäärällä.
Vienti ja tuonti PST-tiedostona? Varovasti. PST-vienti Outlookista, jossa päivämäärät ovat vioittuneet, vie myös vioittuneet metatiedot. PST-tiedosto sisältää väärät päivämäärät. Sen tuominen uudelleen ei korjaa mitään ja voi jopa pahentaa tilannetta luomalla kaksoiskappaleita, joissa on epäjohdonmukaiset päivämäärät. Tätä aihetta käsitellään erikseen artikkelissa PST-tuonti Outlookiin: miksi päivämäärät katoavat.
Mitä Redate.io tekee tässä tapauksessa
Tuliko ongelma IMAP-siirrosta tai Outlook-profiilin uudelleenluomisesta, palvelinpuolen lopputulos on samankaltainen: sähköposteja, joiden päivämäärän metatiedot eivät vastaa viestin todellista sisältöä.
Redate.io yhdistää suoraan postilaatikkoon (Google Workspace, Microsoft 365 tai suora IMAP), skannaa kaikki viestit tunnistaakseen ne, joiden metatiedot ovat väärin, ja soveltaa monivaiheista analyysipipelineaan jokaisen sähköpostin yksilölliseen korjaamiseen. Jokainen korjaus tarkistetaan. Alkuperäiset viestit säilyvät näkyvässä varmuuskopiointikansiossa omassa postilaatikossasi, kunnes poistat ne itse.
Prosessi käsittelee reunatapaukset, joissa kotitekoiset skriptit epäonnistuvat toistuvasti: S/MIME-allekirjoitetut viestit, sähköpostit, joiden otsikoissa on muita kuin ASCII-koodauksia (RFC 2047), monimutkaiset multipart-rakenteet, Date:-otsikot epästandardeilla tai virheellisesti muotoilluilla aikavyöhykkeillä. Skripti, joka toimii oikein 50 testiviestillä kehityslaatikossa, voi korruptoida korjauskelvottomasti 2000 viestiä tuotantoympäristössä. IMAP:issa ei ole natiivia peruutusmekanismia, kun viesti on korvaaattu ilman ennakkovarmuuskopiota.
Erityisesti Outlookiin liittyvissä tapauksissa korjaussivu Korjaa manuaalisen IMAP-kopioinnin päivämäärät Outlookissa kuvaa vaiheet postilaatikon yhdistämiseksi ja analyysin käynnistämiseksi.
Ongelman ehkäisy tulevissa toimenpiteissä
Jos olet teknikko tai IT-ylläpitäjä ja käsittelet säännöllisesti Outlook-profiileja, muutama tarkistustapa auttaa välttämään tämän tilanteen.
Ennen OST-tiedoston poistamista tai profiilin uudelleenluomista tarkista webmailissa näkyvät päivämäärät. Jos ne ovat oikein, kirjaa se tikettiin. Uudelleenluomisen jälkeen kirjaudu webmailiin uudelleen ja vertaa siellä näkyviä päivämääriä Outlookin näyttämiin. Jos eroja ilmenee, ongelma tunnistetaan heti, ennen kuin käyttäjä valittaa siitä kolmen päivän kuluttua.
Suunniteltujen siirtojen yhteydessä sähköpostimigraation tarkistuslista listaa ennen ja jälkeen tehtävät tarkistukset tämäntyyppisen ongelman havaitsemiseksi heti toimenpiteen päätyttyä.
Oletko luonut Outlook-profiilin uudelleen ja postilaatikkosi päivämäärät ovat nyt kaikki väärin? Käynnistä ilmainen skannaus Redate.io:ssa tunnistamaan vaikuttavat sähköpostit ja korjaamaan metatiedot koskematta viestiesi sisältöön.