Le fichier canonique facultatif spécifie un mappage d'adresses pour les adresses locales et non locales. Le mappage est utilisé par le démon cleanup (8). Le mappage d'adresse est récursif.

Le fichier sert d'entrée à la commande postmap (1). Le résultat, un fichier indexé au format dbm ou db, est utilisé pour une recherche rapide par le système de messagerie.

Le mappage canonique affecte à la fois les adresses d'en-tête de message (c'est-à-dire les adresses qui apparaissent à l'intérieur des messages) et les adresses d'enveloppe de message (par exemple, les adresses utilisées dans les commandes du protocole SMTP). Pensez à l'ensemble de règles Sendmail `S3` , si vous le souhaitez.

En règle générale, on utilise la table canonique pour remplacer les noms de connexion par `Firstname.Lastname` , ou pour nettoyer les adresses produites par les systèmes de messagerie hérités.

Le mappage canonique ne doit pas être confondu avec le support de domaine virtuel. Utilisez la carte de domaine virtuelle à cette fin.

Le mappage canonique ne doit pas être confondu avec l'aliasing local. Utilisez la carte des alias de messagerie à cet effet.

Le format des mappages canoniques est le suivant, les mappages étant essayés dans l'ordre indiqué:

- `user@domain` mappé à ... `address` :
  `user@domain` est remplacé par `address` Ce formulaire a la priorité la plus élevée. Ce formulaire est utile pour nettoyer les adresses produites par les anciens systèmes de messagerie. Il peut également être utilisé pour produire `Firstname.Lastname` adresses de style, mais voir ci - dessous pour une solution plus simple.
- `user` mappé à ... `address` :
  `user@site` est remplacé par address lorsque site est égal à `$myorigin` , lorsque site est répertorié dans `$mydestination` ou lorsqu'il est répertorié dans `$inet_interfaces` . Ce formulaire est utile pour remplacer les noms de connexion par `Firstname.Lastname` .
- `@domain` mappé à ... `address` :
  Chaque adresse du domaine est remplacée par une adresse. Ce formulaire a la priorité la plus faible.

Dans tous les formulaires ci-dessus, lorsque l'adresse a le `@otherdomain` , le résultat est le même utilisateur dans l'autre domaine.

EXTENSION D'ADRESSE: lorsque la recherche de table échoue et que l'adresse localpart contient le délimiteur de destinataire facultatif (par exemple, `user+foo@domain` ), la recherche est répétée pour l'adresse non étendue (par exemple, `user@domain` ), et l'extension sans correspondance est propagée à la résultat de la recherche de table. L'ordre de correspondance est le suivant: `user+foo@domain` , `user@domain` , `user+foo` , `user` et `@domain` .