Το προαιρετικό κανονικό αρχείο καθορίζει μια αντιστοίχιση διευθύνσεων για τοπικές και μη τοπικές διευθύνσεις. Η χαρτογράφηση χρησιμοποιείται από τον δαίμονα εκκαθάρισης (8). Η χαρτογράφηση διευθύνσεων είναι αναδρομική.

Το αρχείο χρησιμεύει ως είσοδος στην εντολή postmap (1). Το αποτέλεσμα, ένα ευρετήριο αρχείο σε μορφή dbm ή db, χρησιμοποιείται για γρήγορη αναζήτηση από το σύστημα αλληλογραφίας.

Η κανονική χαρτογράφηση επηρεάζει τόσο τις διευθύνσεις κεφαλίδας μηνυμάτων (δηλ. Διευθύνσεις που εμφανίζονται μέσα σε μηνύματα) όσο και τις διευθύνσεις φακέλου μηνυμάτων (για παράδειγμα, τις διευθύνσεις που χρησιμοποιούνται στις εντολές πρωτοκόλλου SMTP). Σκεφτείτε το σύνολο κανόνων Sendmail `S3` , αν θέλετε.

Συνήθως, κάποιος θα χρησιμοποιούσε τον κανονικό πίνακα για να αντικαταστήσει τα ονόματα σύνδεσης από το `Firstname.Lastname` ή για να καθαρίσει τις διευθύνσεις που παράγονται από παλαιά συστήματα αλληλογραφίας.

Η κανονική χαρτογράφηση δεν πρέπει να συγχέεται με την υποστήριξη εικονικού τομέα. Χρησιμοποιήστε τον εικονικό χάρτη τομέα για το σκοπό αυτό.

Η κανονική χαρτογράφηση δεν πρέπει να συγχέεται με το τοπικό aliasing. Χρησιμοποιήστε τον χάρτη ψευδωνύμων αλληλογραφίας για το σκοπό αυτό.

Η μορφή των κανονικών αντιστοιχιών έχει ως εξής, οι αντιστοιχίσεις δοκιμάζονται με τη σειρά όπως παρατίθεται:

- `user@domain` αντιστοιχίστηκε σε ... `address` :
  `user@domain` αντικαθίσταται από `address` Αυτή η φόρμα έχει την υψηλότερη προτεραιότητα. Αυτή η φόρμα είναι χρήσιμη για τον καθαρισμό διευθύνσεων που παράγονται από συστήματα αλληλογραφίας παλαιού τύπου. Μπορεί επίσης να χρησιμοποιηθεί για την παραγωγή διευθύνσεων στυλ `Firstname.Lastname` , αλλά δείτε παρακάτω για μια απλούστερη λύση.
- `user` αντιστοιχίστηκε σε ... `address` :
  `user@site` αντικαθίσταται από διεύθυνση όταν ο ιστότοπος ισούται με `$myorigin` , όταν ο ιστότοπος παρατίθεται στο `$mydestination` ή όταν αναφέρεται στο `$inet_interfaces` . Αυτή η φόρμα είναι χρήσιμη για την αντικατάσταση των ονομάτων σύνδεσης από το `Firstname.Lastname` .
- `@domain` χαρτογραφήθηκε σε ... `address` :
  Κάθε διεύθυνση στον τομέα αντικαθίσταται από διεύθυνση. Αυτή η φόρμα έχει τη χαμηλότερη προτεραιότητα.

Σε όλες τις παραπάνω φόρμες, όταν η διεύθυνση έχει τη μορφή `@otherdomain` , το αποτέλεσμα είναι ο ίδιος χρήστης στον άλλο τομέα.

ΕΠΕΚΤΑΣΗ ΔΙΕΥΘΥΝΣΗΣ: Όταν αποτύχει η αναζήτηση πίνακα και η διεύθυνση localpart περιέχει τον προαιρετικό διαχωριστή παραλήπτη (π.χ. `user+foo@domain` ), η αναζήτηση επαναλαμβάνεται για την ανεπεξέργαστη διεύθυνση (π.χ. `user@domain` ) και η απαράμιλλη επέκταση μεταδίδεται στο αποτέλεσμα αναζήτησης πίνακα. Η αντίστοιχη σειρά είναι: `user+foo@domain` , `user@domain` , `user+foo` , `user` και `@domain` .