Fakultatywny plik podstawień kanonicznych określa podstawianie lokalnych i zdalnych adresów. Podstawianie jest wykorzystywane przez demona cleanup(8). Podstawianie adresów jest rekurencyjne.

Plik służy jako dane wejściowe dla polecenia postmap(1). Jego wynik, w postaci pliku indeksowego w formacie dbm lub db, jest wykorzystywany do szybkiego przeszukiwania przez system poczty.

Podstawianie kanoniczne dotyczy zarówno adresów w nagłówkach wiadomości (tzn. adresów pojawiających się w wiadomości), jak też adresów na "kopercie" wiadomości (np. adresów używanych w poleceniach protokołu SMTP). Traktuj to jak zestaw reguł `S3` Sendmaila, jeśli chcesz.

Standardowo, można by używać tabeli kanonicznej do zastąpienia nazw logowania przez `Imie.Nazwisko` lub do porządkowania adresów odziedziczonych po poprzednich systemach poczty.

Podstawianie kanoniczne nie służy do tego by w nim wprowadzać zamieszanie z obsługą domen wirtualnych. Używaj w tym celu podstawiania domen wirtualnych.

Podstawianie kanoniczne nie służy do tego by w nim wprowadzać zamieszanie z lokalnymi aliasami. Używaj w tym celu podstawiania aliasów pocztowych.

Format podstawień kanonicznych jest następujący (podstawienia są wykonywane w poniższej kolejności):

- `uzytkownik@domena` podstawiany... `adres`:
  `użytkownik@domena` jest zastępowany przez `adres`. Ta postać ma najwyższy priorytet. Jest ona przydatna do porządkowania adresów odziedziczonych po poprzednich systemach poczty. Można ją również wykorzystać do otrzymania adresów postaci `Imie.Nazwisko`, lecz niżej opisano prostsze rozwiązanie.
- `uzytkownik` podstawiany... `adres`:
  `użytkownik@miejsce` jest zastępowany przez `adres` gdy `miejsce` jest tożsame z `$myorigin`, gdy jest wymienione wśród `$mydestination`, lub gdy jest wymienione wśród `$inet_interfaces`. Ta postać jest przydatna do zastępowania nazw logowania przez `Imie.Nazwisko`.
- `@domena` podstawiany... `adres`:
  Dowolny adres w `domena` jest zastępowany przez `adres`. Ta postać ma najniższy priorytet.

We wszystkich powyższych przypadkach, gdy adres ma postać `@innadomena`, wynikiem jest ten sam użytkownik w `innadomena`.

ROZSZERZENIA ADRESÓW: Gdy przeszukiwanie tabeli zakończy się niepowodzeniem a lokalna część adresu zawiera fakultatywny ogranicznik odbiorcy (np. `uzytkownik+cos@domena`), przeszukiwanie jest powtarzane dla nierozszerzonego adresu (np. `uzytkownik@domena`) i niepasujące rozszerzenie jest przenoszone na wynik przeszukiwania tebeli. Kolejność dopasowywania jest następująca: `uzytkownik+cos@domena`, `uzytkownik@domena`, `uzytkownik+cos`, `uzytkownik` oraz `@domena`.