imapsync: datumi niso ohranjeni, celovit vodnik

6 min

imapsync je referencno selitveno orodje za e-posto za Linux sistemske skrbnike, ponudnike gostovanja in vse, ki imajo raje odprtokodne resitve. Ustvaril ga je Gilles Lamiral, imapsync je aktivno vzdrzevan od leta 2001 in je bil uporabljen za milijone selitev postnih predalov po vsem svetu. Podpira prakticno vsak IMAP streznik: Dovecot, Courier, Cyrus, Zimbra, Exchange, Gmail in desetine drugih.

imapsync ima sloves celovitega in nastavljivega orodja. Skrbniki cenijo njegovo natancno nadzorovanje nad mapami za selitev, upravljanje podvojenih sporocil in preslikavo imen map med razlicnimi IMAP strezniki. Toda kljub vsemu temu nadzoru ena tezava vztraja: datumi e-poste pogosto niso ohranjeni po selitvi imapsync. Uporabniki odprejo postni predal po selitvi in ugotovijo, da vsako e-postno sporocilo prikazuje datum selitve. To je frustrirajuce, se posebej ker bi moral imapsync datume obravnavati pravilno.

Kako imapsync obravnava INTERNALDATE

Poizkus ohranitve INTERNALDATE

imapsync dejansko poizkusa ohraniti INTERNALDATE vsakega e-postnega sporocila med selitvijo. INTERNALDATE je casovni zig, ki ga IMAP streznik hrani kot metapodatek za vsako sporocilo, loceno od glav e-poste. Ko imapsync kopira sporocilo z izvora na cilj, prebere INTERNALDATE z izvornega streznika in jo posreduje ciljnemu strezniku v ukazu IMAP APPEND.

V teoriji bi to moralo ohraniti izvirni datum. V praksi rezultat zavisi od vedenja ciljnega streznika in od tega, kako e-postni odjemalci interpretirajo razlicna datumska polja v sporocilu.

Tezava z glavo "Received"

Tudi ko imapsync uspesno ohrani INTERNALDATE, ciljni postni streznik doda novo glavo "Received" vsakemu sporocilu med operacijo APPEND. Ta glava "Received" vsebuje trenutni casovni zig, torej datum selitve. E-postni odjemalci kot Outlook, Apple Mail in Thunderbird dolocajo prikazani datum "prejema" z branjem najvisje glave "Received", ne INTERNALDATE. Torej kljub trudu imapsync za ohranitev INTERNALDATE je vidni datum v vecini odjemalcev vseeno napacen.

To temeljno neujemanje je tisto, kar povzroca zmedo. imapsync ohranja eno datumsko vrednost (INTERNALDATE), toda e-postni odjemalci prikazujejo drugo (casovni zig glave "Received"). Za tehnicno razlago tega mehanizma glejte zakaj e-posta prikazuje napacen datum po IMAP selitvi.

Napacna predstava iz FAQ imapsync

Dokumentacija in FAQ imapsync obravnavata datumsko tezavo, toda jo predstavljata kot inherentno omejitev. FAQ nakazuje, da "datumi morda ne bodo ohranjeni" med IMAP selitvijo in implicira, da protokol IMAP pac tako deluje. Ceprav je res, da protokol IMAP od streznikov zahteva dodajanje glav "Received" ob vstavljanju sporocil, FAQ ustvari vtis, da je tezava trajna in nepopravljiva.

To ni natancno. Glave "Received", dodane med selitvijo, se lahko identificirajo in odstranijo za nazaj, s cimer se obnovi prikaz izvirnega datuma v e-postnih odjemalcih.

Identifikacija selitvene glave imapsync

Kako glava izgleda

imapsync sam ne doda glave "Received", to stori ciljni IMAP streznik. Glava, dodana med selitvijo imapsync, obicajno izgleda kot standardna IMAP insercijska glava ciljnega streznika. Na primer, pri selitvi na Dovecot streznik bi glava lahko izgledala tako:

Received: from localhost by mail.example.com;
  Wed, 15 Jan 2025 09:14:22 +0100

Kljucni identifikator je, da je ta glava "Received" najvisja v verigi, njen casovni zig se ujema z datumom zagona selitve imapsync in obicajno referencira "localhost" ali ime gostitelja ciljnega streznika.

Primerjava datumov

Za potrditev tezave primerjajte casovni zig najvisje glave "Received" z glavo "Date" e-postnega sporocila. Ce glava "Received" prikazuje januar 2025, glava "Date" pa marec 2020, je selitvena glava "Received" vzrok za napacen prikaz datuma.

Zakaj pogoste moznosti imapsync ne resijo tezave

Zastavica --syncinternaldates

imapsync ponuja zastavico --syncinternaldates, ki nastavi INTERNALDATE na ciljnem strezniku tako, da se ujema z glavo "Date" e-poste. To je koristno, ko je INTERNALDATE izvornega streznika ze napacen, toda ne prepreci ciljnemu strezniku dodajanja glave "Received".

Moznost --addheader

imapsync lahko doda glave po meri sporocilom med selitvijo, toda ne more prepreciti ciljnemu strezniku dodajanja lastne glave "Received". Protokol IMAP od streznikov zahteva beelezenje casovnega ziga vstavljanja in nobena moznost imapsync ne more obiti tega vedenja na ravni streznika.

Skripte po selitvi

Nekateri skrbniki napisejo skripte po selitvi po meri za odstranitev nezazeljenih glav "Received". Zveni razumno, se posebej za tip osebe, ki je prvotno izbrala imapsync (nekdo, ki mu je udobno v ukazni vrstici). Toda resnicnost je precej bolj zapletena kot iskanje in zamenjava besedila glave. Kaj se zgodi, ko skripta naleti na e-postno sporocilo s podpisom S/MIME? Ali na vecdelno sporocilo z ugnedenimi MIME mejami in prilogami, kodiranimi v base64? En sam napacno postavljen bajt v MIME meji lahko tiho poskoduje celotno sporocilo. Za tisocerje e-postna sporocila prek vec predalov DIY skriptiranje predstavlja znatno tveganje.

Popravek datumov imapsync z Redate.io

Kako Redate.io obravnava selitve imapsync

Lastniski popravljalni motor Redate.io je zasnovan posebej za to kategorijo tezav. Po povezavi s postnim predalom Redate.io analizira vsako e-postno sporocilo in ga obdela skozi vecstopenjski analiticni cevovod. Za selitve imapsync Redate.io zazna glavo "Received", ki jo vstavi streznik, z uporabo ujemanja podpisov na stotinah znanih selitvenih profilov, analiziranjem celotne verige glav in navzkrizno primerjavo casovnih zigov z izvorno glavo "Date".

To ni preprosto urejanje glav. Popravljalni motor obravnava preverjanje skladnosti z RFC, ohranjanje strukture sporocila in zaznavanje digitalnih podpisov. E-posta s podpisi S/MIME ali PGP se samodejno identificira in ustrezno obravnava.

Kaj dobite po popravku

Vsako popravljeno e-postno sporocilo prikazuje svoj izvirni datum prejema v vseh e-postnih odjemalcih. Kronoloski red je obnovljen. Vsak popravek gre skozi preverjanje celovitosti pred zakljuckom. Izvorno sporocilo se premakne v mapo "Redate.io - Originals" in se hrani 30 dni.

Zdruzljivost z vsemi ciljnimi strezniki

Ker se imapsync uporablja za selitev prakticno na kateri koli IMAP streznik, Redate.io podpira enak razpon ciljnih platform. Ne glede na to, ali je selitev imapsync ciljala na Dovecot, Courier, Cyrus, Zimbra, Google Workspace, Microsoft 365 ali kateri koli drug IMAP streznik, se Redate.io poveze in popravi datume.

Kako popraviti datume po selitvi imapsync

Povezite postni predal

Prijavite se v Redate.io in dodajte postni predal. Za Google Workspace ali Microsoft 365 uporabite moznost skrbniskeega pooblastila. Za druge IMAP streznike (pogoste v scenarijih imapsync) vnesite naslov streznika, uporabnisko ime in geslo.

Brezplacna analiza

Zazenite brezplacno analizo za identifikacijo prizadetih e-postnih sporocil. Porocilo analize prikaze skupno stevilo e-postnih sporocil, koliko jih ima napacen datum in kateri datum selitve je bil zaznan.

Popravite in preverite

Izberite nacrt glede na stevilo prizadetih e-postnih sporocil in zazenite popravek. Napredek je viden v realnem casu. Po zakljucku preverite rezultate s pregledom datumov e-poste v vasem odjemalcu.

Vodniki za popravek imapsync po platformi

Pogosto zastavljena vprasanja

Ali naj uporabim --syncinternaldates imapsync pred uporabo Redate.io?

Ni potrebno. Redate.io nastavi pravilen INTERNALDATE med procesom popravka, ne glede na trenutno vrednost.

Ali lahko popravim datume na izvornem strezniku pred selitvijo imapsync?

Ce ima izvorni streznik ze napacne datume (zaradi prejsnje selitve), jih Redate.io lahko popravi pred ali po selitvi imapsync. Toda popravek datumov na ciljnem strezniku po selitvi je najpogostejsi in najprakticnejsi pristop.

Koliko e-postnih sporocil lahko Redate.io obdela?

Redate.io obravnava postne predale katere koli velikosti. Nacrti so na voljo za do 100.000 e-postnih sporocil na predal. Za organizacije z vec predali Redate.io ponuja kolicinske popuste.

Selitev imapsync je pokvarila datume? Zazenite brezplacno analizo in odkrijte, koliko e-postnih sporocil je prizadetih.