Promisiunea --syncinternaldates (și de ce nu funcționeaza)
Ați rulat comanda imapsync. Ați inclus --syncinternaldates pentru ca ați citit documentația și sunteți atent. Migrarea s-a terminat, logul spune ca totul s-a transferat, zero erori. Apoi deschideți casuta poștala in Outlook și fiecare e-mail arata data de ieri.
Aceasta este una dintre cele mai frecvente frustrari cu imapsync, și incurca administratorii de sistem cel puțin din 2017. Flag-ul --syncinternaldates ar trebui sa pastreze IMAP INTERNALDATE in timpul migrarii. Tehnic, incearca. Dar "incearca" face foarte multa munca in acea propozitie.
imapsync este un instrument open-source in Perl scris de Gilles Lamiral, și face intr-adevar bine ceea ce face. Dar pastrarea datelor nu depinde in intregime de imapsync, și aici lucrurile se complica.
Cum funcționeaza de fapt datele IMAP
Exista trei "date" diferite in fiecare e-mail:
- Headerul Date: (RFC 2822) - data pe care clientul de e-mail al expeditorului a aplicat-o la compunerea mesajului.
- Headerele Received: - fiecare server de e-mail care proceseaza mesajul adauga unul cu propria marca temporala.
- INTERNALDATE - marca temporala pe partea serverului IMAP care controleaza ordinea de sortare a mesajelor.
Cand imapsync migreaza un mesaj, il citește de pe serverul sursa (inclusiv INTERNALDATE) și il scrie pe serverul destinație folosind IMAP APPEND. Flag-ul --syncinternaldates spune imapsync sa transmita INTERNALDATE sursa serverului destinație.
Problema: serverul destinație nu este obligat sa respecte acea data.
De ce serverele destinație ignora INTERNALDATE
Specificația IMAP (RFC 3501) spune ca daca se furnizeaza o data-timp cu comanda APPEND, serverul AR TREBUI sa o foloseasca. "SHOULD" in limbajul RFC inseamna "faceți asta daca nu aveți un motiv bun sa nu". Mai multe platforme mari de e-mail au decis ca au motiv bun.
Microsoft 365 este cel mai mare vinovat. Pipeline-ul de transport Exchange adauga un nou header Received cu data curenta, apoi seteaza INTERNALDATE pe baza acestei marci de livrare.
Google Workspace (Gmail) se comporta diferit dar poate cauza și probleme. Gmail respecta de obicei INTERNALDATE din APPEND, dar adauga propriul header Received.
Greșeli frecvente la linia de comanda imapsync
Uitarea completa a --syncinternaldates
Flag-ul nu este activat implicit.
Folosirea --syncinternaldates cu --addheader
Adaugarea de headere modifica mesajul.
Confuzia --minage și --maxage cu pastrarea datelor
Aceste flag-uri filtreaza mesajele pentru migrare dupa varsta, nu afecteaza gestionarea datelor la destinație.
Intarzieri SSL care cauzeaza deriva marcilor temporale
La migrarea prin TLS, latența conexiunii se acumuleaza in migrari mari.
Citirea logurilor imapsync
msg source stratemind/42 {5765} D:2019-01-15 13:22:07 -> dest stratemind/42 {5765} D:2019-01-15 13:22:07
Ambele date se potrivesc. imapsync raporteaza ce a cerut, nu ce a acceptat serverul.
Migrari imapsync la scara mare
O migrare a unei singure casuțe cu imapsync este enervanta cand datele se strica. Dar MSP-urile și departamentele IT care ruleaza imapsync pe sute de casuțe se confrunta cu o problema de cu totul alta dimensiune.
Reparații DIY și limitele lor
Toate abordorile de pe forumuri au aceleași probleme fundamentale: S/MIME, MIME imbricat, RFC 2047, PGP. Un script care funcționeaza pe 50 de mesaje de test nu va supraviețui unei casuțe de producție cu 30.000 de mesaje.
Cum corecteaza Redate.io datele dupa imapsync
Headerul original Date: este intotdeauna intact dupa o migrare imapsync. imapsync transfera fidel mesajul brut; gestionarea metadatelor de catre serverul destinație cauzeaza problema de afișare.
Redate.io se conecteaza direct la casuta poștala (Google Workspace, Microsoft 365 sau orice server IMAP), scaneaza e-mailurile cu anomalii de date și aplica corecție țintita de metadate printr-un pipeline proprietar de analiza a lanțului de headere și reconstrucție a datelor.
Fiecare e-mail corectat trece prin verificare individuala. Originalele se pastreaza intr-un folder vizibil Redate.io - Originals timp de 30 de zile.
- Corectarea datelor imapsync in Outlook
- Corectarea datelor imapsync in Gmail
- Corectarea datelor imapsync in Microsoft 365
- Corectarea datelor imapsync in Google Workspace
Redate.io funcționeaza și pentru migrari efectuate cu luni sau ani in urma. Headerul Date: nu expira.
Ați migrat cu imapsync și ați ramas cu date greșite? Rulați o scanare gratuita pentru a vedea cate e-mailuri sunt afectate.