Αναδημιουργία προφίλ Outlook: γιατί αλλάζουν οι ημερομηνίες

9 λεπ. ανάγνωσης

Η κλασική λύση που καταστρέφει τις ημερομηνίες

Ένας χρήστης παραπονιέται ότι το Outlook δεν συγχρονίζεται πλέον. Τα email δεν φτάνουν, ο φάκελος «Απεσταλμένα» δεν ενημερώνεται, ο τροχός γυρίζει ατέρμονα. Ο τεχνικός διαγνώνει κατεστραμμένο προφίλ, διαγράφει το αρχείο OST και αναδημιουργεί το προφίλ Outlook από την αρχή. Αποτέλεσμα: το Outlook ξανασυνδέεται, τα email επανεμφανίζονται, όλα φαίνονται να λειτουργούν.

Μέχρι το επόμενο πρωί, όταν ο χρήστης ανοίγει το γραμματοκιβώτιό του και συνειδητοποιεί ότι 8 χρόνια αλληλογραφίας εμφανίζουν την ίδια ημερομηνία: σήμερα.

Είναι ακριβώς το ίδιο σύμπτωμα με μια αποτυχημένη μετεγκατάσταση IMAP. Και για τους ίδιους λόγους.

Τι συμβαίνει τεχνικά

Για να καταλάβουμε γιατί η αναδημιουργία προφίλ παράγει αυτό το αποτέλεσμα, πρέπει να επιστρέψουμε σε μια διάκριση που οι περισσότεροι τεχνικοί δεν γνωρίζουν καλά: τη διαφορά μεταξύ της κεφαλίδας Date: ενός email και του INTERNALDATE IMAP.

Κάθε email περιέχει στις κεφαλίδες RFC 2822 ένα πεδίο Date: που υποδεικνύει πότε στάλθηκε το μήνυμα. Αυτό το πεδίο γράφεται από τον client αποστολής τη στιγμή της αποστολής, και μεταφέρεται ακέραιο μέσα από όλους τους διακομιστές μέχρι το γραμματοκιβώτιό σας. Δεν αλλάζει ποτέ. Ένα email που στάλθηκε στις 14 Μαρτίου 2019 στις 09:32 θα έχει πάντα αυτό το πεδίο Date: άθικτο, ανεξάρτητα από ό,τι συμβεί αργότερα.

Το INTERNALDATE IMAP είναι κάτι διαφορετικό. Είναι ένα μεταδεδομένο που διαχειρίζεται ο διακομιστής email, ανεξάρτητο από το περιεχόμενο του μηνύματος. Υποδεικνύει πότε το μήνυμα «κατατέθηκε» στο γραμματοκιβώτιο. Υπό κανονικές συνθήκες, όταν ένα email φτάνει μέσω SMTP, ο διακομιστής καταγράφει την ώρα λήψης ως INTERNALDATE. Ένα email που ελήφθη στις 14 Μαρτίου 2019 θα έχει λοιπόν ένα INTERNALDATE συνεπές με την ημερομηνία αποστολής του.

Το Outlook, εξ ορισμού, ταξινομεί και εμφανίζει τα email βάσει του INTERNALDATE που μεταδίδει ο διακομιστής IMAP, όχι βάσει του πεδίου Date: του ίδιου του μηνύματος. (Αν έχετε ποτέ ανοίξει τις πλήρεις ιδιότητες ενός email στο Outlook για να δείτε τις ακατέργαστες κεφαλίδες του, ξέρετε ότι δεν είναι ακριβώς ανάγνωση παραλίας.)

Τι προκαλεί η διαγραφή του αρχείου OST

Όταν το Outlook χρησιμοποιεί λογαριασμό IMAP, διατηρεί μια τοπική βάση δεδομένων: το αρχείο OST (Offline Storage Table). Αυτό το αρχείο είναι ένα τοπικό αντίγραφο των email που αποθηκεύονται στον διακομιστή, με τα μεταδεδομένα τους, τις καταστάσεις ανάγνωσης, τις κατηγορίες τους, κ.λπ.

Η διαγραφή του αρχείου OST ισοδυναμεί με την εξάλειψη αυτού του τοπικού αντιγράφου. Το Outlook πρέπει λοιπόν να κατεβάσει ξανά τα πάντα από τον διακομιστή IMAP.

Το πρόβλημα; Όταν το Outlook ξανακατεβάζει ένα μήνυμα μέσω IMAP, χρησιμοποιεί την εντολή FETCH για να ανακτήσει το περιεχόμενο. Αλλά δεν χρησιμοποιεί συστηματικά την εντολή FETCH INTERNALDATE για να ανακτήσει και να διατηρήσει την αρχική ημερομηνία IMAP. Σε ορισμένες διαμορφώσεις και εκδόσεις του Outlook, ο client ανακατασκευάζει τον τοπικό ευρετήριό του χρησιμοποιώντας την ημερομηνία κατά την οποία ξανακατέβασε το μήνυμα, αντί για το INTERNALDATE που είναι αποθηκευμένο στον διακομιστή.

Και έτσι, όλα τα email του γραμματοκιβωτίου καταλήγουν να έχουν ημερομηνία την ημέρα της επαναφόρτωσης.

Δεν συμπεριφέρονται όλες οι εκδόσεις Outlook το ίδιο

Για να είμαστε ακριβείς: αυτή η συμπεριφορά δεν επηρεάζει όλες τις εκδόσεις του Outlook με τον ίδιο τρόπο, και εδώ ακριβώς τα πράγματα γίνονται δύσκολα να διαγνωστούν.

Το Outlook 2016 και 2019 σε λειτουργία IMAP έχουν τεκμηριωμένες συμπεριφορές εσφαλμένης ανακατασκευής ευρετηρίου μετά τη διαγραφή της κρυφής μνήμης. Το νέο Outlook (που βασίζεται στο web, και αναπτύσσεται σταδιακά από τα τέλη του 2023) διαχειρίζεται την κρυφή μνήμη διαφορετικά και μπορεί να παράγει μεταβλητά αποτελέσματα. Το Outlook μέσω Exchange/Microsoft 365 με λογαριασμό διαμορφωμένο σε λειτουργία Exchange είναι λιγότερο εκτεθειμένο σε αυτό το συγκεκριμένο πρόβλημα, διότι το πρωτόκολλο MAPI/Exchange διαχειρίζεται τον συγχρονισμό διαφορετικά από το IMAP.

Αλλά αν ο χρήστης σας έχει λογαριασμό IMAP διαμορφωμένο στο κλασικό Outlook, και κάποιος τεχνικός διέγραψε το αρχείο OST ή αναδημιούργησε το προφίλ: ο κίνδυνος είναι πραγματικός.

Πώς να ξεχωρίσετε αυτή την περίπτωση από μια πραγματική μετεγκατάσταση

Ένας διαχειριστής IT που λαμβάνει tickets «οι ημερομηνίες μου είναι λανθασμένες» μετά από αναδημιουργία προφίλ μπορεί να σκεφτεί εσφαλμένα ότι πρόκειται για πρόβλημα μετεγκατάστασης. Δείτε πώς να ξεχωρίσετε τις δύο περιπτώσεις.

Η περίπτωση μετεγκατάστασης IMAP

Κατά τη μετεγκατάσταση IMAP (BitTitan, CloudM, imapsync, κ.λπ.), το εργαλείο μετεγκατάστασης αντιγράφει τα email από έναν διακομιστή σε έναν άλλο. Για κάθε μήνυμα που αντιγράφεται, δημιουργεί μια νέα καταχώρηση στον διακομιστή προορισμού. Αν το εργαλείο δεν καθορίσει ρητά το αρχικό INTERNALDATE, ο διακομιστής προορισμού καταγράφει την τρέχουσα ώρα ως INTERNALDATE. Παράλληλα, ορισμένα εργαλεία προσθέτουν και μια κεφαλίδα Received: με την ημερομηνία μετεγκατάστασης, κάτι που επιδεινώνει το πρόβλημα σε ορισμένους clients. Μπορείτε να διαβάσετε τη λεπτομέρεια αυτού του μηχανισμού στο άρθρο μας για το IMAP INTERNALDATE και τις χαλασμένες ημερομηνίες.

Η περίπτωση αναδημιουργίας προφίλ

Εδώ, τα email βρίσκονται πάντα στον ίδιο διακομιστή, με τα ίδια αρχικά INTERNALDATE. Τίποτα δεν άλλαξε στη μεριά του διακομιστή. Μόνο η τοπική κρυφή μνήμη του Outlook ανακατασκευάστηκε με λανθασμένες ημερομηνίες. Το ορατό σύμπτωμα είναι πανομοιότυπο (όλα τα email εμφανίζουν την ίδια πρόσφατη ημερομηνία), αλλά η αιτία είναι διαφορετική.

Για επιβεβαίωση: συνδεθείτε στο γραμματοκιβώτιο μέσω webmail (Gmail, Outlook.com, ή η διεπαφή webmail του παρόχου σας). Αν οι ημερομηνίες που εμφανίζονται στο webmail είναι σωστές, το πρόβλημα είναι αμιγώς τοπικό στο Outlook. Αν οι ημερομηνίες είναι επίσης λανθασμένες στο webmail, το πρόβλημα βρίσκεται στον διακομιστή (μετεγκατάσταση ή τροποποίηση των INTERNALDATE στον ίδιο τον διακομιστή).

Γιατί οι αρχικές ημερομηνίες παραμένουν ανακτήσιμες

Καλά νέα: και στις δύο περιπτώσεις (μετεγκατάσταση ή αναδημιουργία προφίλ), οι αρχικές ημερομηνίες δεν χάνονται.

Η κεφαλίδα Date: RFC 2822 είναι αναπόσπαστο τμήμα του μηνύματος. Είναι εξίσου αμετάβλητη με το σώμα του κειμένου ή τα συνημμένα. Ένα email που στάλθηκε το 2017 περιέχει στο ακατέργαστο κείμενό του κάτι σαν:

Date: Mon, 12 Jun 2017 14:23:41 +0200

Αυτή η γραμμή υπάρχει στο μήνυμα που είναι αποθηκευμένο στον διακομιστή. Δεν έχει τροποποιηθεί. Αυτό που εμφανίζει (λανθασμένα) το Outlook είναι ένα μεταδεδομένο εξωτερικό του περιεχομένου του μηνύματος.

Αυτό είναι που κάνει τη διόρθωση εφικτή. Το μηχανισμός του Redate.io αναλύει την αλυσίδα κεφαλίδων κάθε μηνύματος για να εξαγάγει την πραγματική αρχική ημερομηνία, και στη συνέχεια εκτελεί στοχευμένη διόρθωση των μεταδεδομένων χωρίς να αλλοιώνει το περιεχόμενο του μηνύματος. Το INTERNALDATE που βλέπει το Outlook ανακατασκευάζεται από αυτή την αυθεντική πληροφορία, που υπάρχει πάντα μέσα στο μήνυμα.

Η παγίδα της «καθαρής» αναδημιουργίας

Μόλις επιλύσατε ένα πρόβλημα συγχρονισμού για έναν χρήστη. Το Outlook του λειτουργεί ξανά, τα νέα email φτάνουν. Κλείνετε το ticket.

Τρεις μέρες αργότερα, ο χρήστης τηλεφωνεί ξανά: ψάχνει ένα email από προμηθευτή του περασμένου χρόνου, αλλά στο Outlook όλα τα email του 2023 εμφανίζονται σαν να ελήφθησαν «χτες». Δεν βρίσκει τίποτα. Η αυτόματη αρχειοθέτηση μπορεί να έχει ταξινομήσει πρόσφατα email αντιμετωπίζοντάς τα ως παλιά. Και το αφεντικό του ζητά μια συνομιλία email από τον Σεπτέμβριο του 2022 για μια διαφορά.

Αυτό το σενάριο συμβαίνει τακτικά. Όχι επειδή ο τεχνικός έκανε κακή δουλειά, αλλά επειδή αυτή η συμπεριφορά του Outlook δεν τεκμηριώνεται με ορατό τρόπο στους τυπικούς οδηγούς αντιμετώπισης προβλημάτων.

Οι ψεύτικες λύσεις που δεν λύνουν τίποτα

Ταξινόμηση των email κατά «Ημερομηνία αποστολής» αντί «Ημερομηνία λήψης» στο Outlook είναι το πρώτο πράγμα που δοκιμάζουν οι χρήστες. Και φαίνεται να λειτουργεί... μέχρι να συνειδητοποιήσουν ότι η ταξινόμηση κατά ημερομηνία αποστολής διατίθεται μόνο για ορισμένους φακέλους, εξαφανίζεται όταν αλλάζει η προβολή, και ότι άλλες εφαρμογές (mobile, webmail, αυτόματοι κανόνες ταξινόμησης) εξακολουθούν να χρησιμοποιούν το λανθασμένο INTERNALDATE.

Η ταξινόμηση κατά ημερομηνία αποστολής δεν είναι λύση. Είναι επίδεσμος που κρύβει το σύμπτωμα χωρίς να αγγίζει το πραγματικό πρόβλημα. Το εξηγούμε αναλυτικά στο άρθρο Η ταξινόμηση κατά ημερομηνία αποστολής δεν λύνει το πρόβλημα.

Αναδημιουργία του προφίλ για δεύτερη φορά; Δεν αλλάζει τίποτα αν το Outlook ανακατασκευάζει την κρυφή μνήμη του με την τρέχουσα ημερομηνία.

Εξαγωγή και επανεισαγωγή σε PST; Προσοχή. Μια εξαγωγή PST από Outlook με κατεστραμμένες ημερομηνίες εξάγει τα κατεστραμμένα μεταδεδομένα. Το αρχείο PST θα περιέχει τις λανθασμένες ημερομηνίες. Η επανεισαγωγή αυτού του αρχείου δεν διορθώνει τίποτα, και μπορεί να χειροτερέψει την κατάσταση δημιουργώντας διπλότυπα με ασυνεπείς ημερομηνίες. Το θέμα αυτό αναλύεται ξεχωριστά στο άρθρο για το import PST στο Outlook και τις ημερομηνίες που χαλάνε.

Τι κάνει το Redate.io σε αυτή την ακριβή περίπτωση

Είτε το πρόβλημα προέρχεται από μετεγκατάσταση IMAP είτε από αναδημιουργία προφίλ Outlook, το αποτέλεσμα στον διακομιστή είναι παρόμοιο: email των οποίων τα μεταδεδομένα ημερομηνίας είναι ασύμβατα με το πραγματικό τους περιεχόμενο.

Το Redate.io συνδέεται απευθείας στο γραμματοκιβώτιο (Google Workspace, Microsoft 365, ή απευθείας IMAP), σαρώνει το σύνολο των μηνυμάτων για να εντοπίσει αυτά με λανθασμένα μεταδεδομένα, και στη συνέχεια εφαρμόζει το pipeline πολυεπίπεδης ανάλυσής του για να διορθώσει κάθε email μεμονωμένα. Κάθε διόρθωση επαληθεύεται. Τα αρχικά μηνύματα δεν διαγράφονται ποτέ: παραμένουν σε ορατό φάκελο αντιγράφων ασφαλείας μέσα στο ίδιο σας το γραμματοκιβώτιο, μέχρι να τα διαγράψετε εσείς.

Η διαδικασία χειρίζεται οριακές περιπτώσεις που τα οικιακά scripts αποτυγχάνουν συστηματικά: μηνύματα S/MIME υπογεγραμμένα, email με κωδικοποιήσεις non-ASCII στις κεφαλίδες (RFC 2047), σύνθετες δομές multipart, κεφαλίδες Date: με μη τυπικές ή κακοσχηματισμένες ζώνες ώρας. Ένα script που τρέχει σωστά σε 50 email δοκιμών μπορεί να καταστρέψει ανεπανόρθωτα 2.000 μηνύματα σε παραγωγική χρήση. Δεν υπάρχει εγγενής επαναφορά σε IMAP μόλις ένα μήνυμα αντικατασταθεί χωρίς προηγούμενο αντίγραφο ασφαλείας.

Για περιπτώσεις που αφορούν ειδικά το Outlook, η σελίδα διόρθωσης διόρθωση ημερομηνιών χειροκίνητης αντιγραφής IMAP στο Outlook περιγράφει τα βήματα για να συνδέσετε το γραμματοκιβώτιό σας και να ξεκινήσετε την ανάλυση.

Πρόληψη του προβλήματος στις επόμενες επεμβάσεις

Αν είστε τεχνικός ή διαχειριστής IT και επεμβαίνετε τακτικά σε προφίλ Outlook, μερικές καλές συνήθειες βοηθούν να αποφύγετε αυτή την κατάσταση.

Πριν διαγράψετε ένα αρχείο OST ή αναδημιουργήσετε ένα προφίλ, ελέγξτε τις ημερομηνίες που εμφανίζονται στο webmail. Αν είναι σωστές, σημειώστε το στο ticket σας. Μετά την αναδημιουργία, συνδεθείτε ξανά στο webmail και συγκρίνετε τις ημερομηνίες που εμφανίζονται εκεί με αυτές στο Outlook. Αν εμφανιστεί απόκλιση, το πρόβλημα εντοπίζεται αμέσως, πριν ο χρήστης παραπονεθεί τρεις μέρες αργότερα.

Για προγραμματισμένες μετεγκαταστάσεις, το checklist μετεγκατάστασης email παραθέτει τους ελέγχους που πρέπει να γίνουν πριν και μετά για να εντοπιστεί αυτός ο τύπος προβλήματος αμέσως μετά την ολοκλήρωση της επέμβασης.

Αναδημιουργήσατε ένα προφίλ Outlook και τώρα όλες οι ημερομηνίες του γραμματοκιβωτίου σας είναι λανθασμένες; Εκτελέστε δωρεάν σάρωση στο Redate.io για να εντοπίσετε τα επηρεαζόμενα email και να διορθώσετε τα μεταδεδομένα χωρίς να αγγίξετε το περιεχόμενο των μηνυμάτων σας.

Σχετικά άρθρα