SYNOPSIS

       postmap /etc/postfix/canonical

       postmap -q "string" /etc/postfix/canonical

       postmap -q - /etc/postfix/canonical <inputfile


DESCRIPTION

       The optional canonical table specifies an address mapping for local and
       non-local addresses. The mapping is used by the cleanup(8) daemon.  The
       address mapping is recursive.

       Normally,  the  canonical table is specified as a text file that serves
       as input to the postmap(1) command.  The result, an indexed file in dbm
       or  db  format,  is used for fast searching by the mail system. Execute
       the command postmap /etc/postfix/canonical  in  order  to  rebuild  the
       indexed file after changing the text file.

       When  the  table  is provided via other means such as NIS, LDAP or SQL,
       the same lookups are done as for ordinary indexed files.

       Alternatively, the table can be provided as  a  regular-expression  map
       where  patterns  are  given  as  regular expressions, or lookups can be
       directed to TCP-based server. In that case, the lookups are done  in  a
       slightly  different  way  as  described below under "REGULAR EXPRESSION
       TABLES" and "TCP-BASED TABLES".

       The canonical mapping  affects  both  message  header  addresses  (i.e.
       addresses  that  appear inside messages) and message envelope addresses
       (for example, the addresses that are used in SMTP  protocol  commands).
       Think Sendmail rule set S3, if you like.

       Typically,  one would use the canonical table to replace login names by
       Firstname.Lastname, or to clean up addresses produced  by  legacy  mail
       systems.

       The  canonical  mapping  is not to be confused with virtual domain sup-
       port. Use the virtual(5) map for that purpose.

       The canonical mapping is not to be confused with local  aliasing.   Use
       the aliases(5) map for that purpose.


TABLE FORMAT

       The input format for the postmap(1) command is as follows:

       pattern result
              When  pattern  matches  a mail address, replace it by the corre-
              sponding result.

       blank lines and comments
              Empty lines and whitespace-only lines are ignored, as are  lines
              whose first non-whitespace character is a `#'.
              systems.  It can also  be  used  to  produce  Firstname.Lastname
              style addresses, but see below for a simpler solution.

       user address
              user@site  is  replaced by address when site is equal to $myori-
              gin, when site is listed in $mydestination, or when it is listed
              in $inet_interfaces or $proxy_interfaces.

              This form is useful for replacing login names by Firstname.Last-
              name.

       @domain address
              Every address in domain is replaced by address.  This  form  has
              the lowest precedence.

       In  all  the  above  forms, when address has the form @otherdomain, the
       result is the same user in otherdomain.


ADDRESS EXTENSION

       When a mail address localpart contains the optional recipient delimiter
       (e.g.,  user+foo@domain),  the  lookup  order becomes: user+foo@domain,
       user@domain, user+foo, user, and @domain.

       The  propagate_unmatched_extensions  parameter  controls   whether   an
       unmatched address extension (+foo) is propagated to the result of table
       lookup.


REGULAR EXPRESSION TABLES

       This section describes how the table lookups change when the  table  is
       given  in the form of regular expressions. For a description of regular
       expression lookup table syntax, see regexp_table(5) or pcre_table(5).

       Each pattern is a regular expression that  is  applied  to  the  entire
       address  being looked up. Thus, user@domain mail addresses are not bro-
       ken up into their user and @domain constituent parts, nor  is  user+foo
       broken up into user and foo.

       Patterns  are  applied  in the order as specified in the table, until a
       pattern is found that matches the search string.

       Results are the same as with indexed file lookups, with the  additional
       feature  that parenthesized substrings from the pattern can be interpo-
       lated as $1, $2 and so on.


TCP-BASED TABLES

       This section describes how the table lookups change  when  lookups  are
       directed   to  a  TCP-based  server.  For  a  description  of  the  TCP
       client/server lookup protocol, see tcp_table(5).  This feature  is  not
       available in Postfix version 2.1.

       Each  lookup operation uses the entire address once.  Thus, user@domain
       mail addresses are not broken up  into  their  user  and  @domain  con-

       recipient_canonical_maps
              Address  mapping  lookup table for envelope and header recipient
              addresses.

       sender_canonical_maps
              Address mapping lookup table  for  envelope  and  header  sender
              addresses.

       propagate_unmatched_extensions
              A list of address rewriting or forwarding mechanisms that propa-
              gate an address extension  from  the  original  address  to  the
              result.  Specify zero or more of canonical, virtual, alias, for-
              ward, or include.

       Other parameters of interest:

       inet_interfaces
              The network interface addresses that this system  receives  mail
              on.   You  need  to  stop  and start Postfix when this parameter
              changes.

       proxy_interfaces
              Other interfaces that this machine receives mail on by way of  a
              proxy agent or network address translator.

       masquerade_classes
              List of address classes subject to masquerading: zero or more of
              envelope_sender,       envelope_recipient,        header_sender,
              header_recipient.

       masquerade_domains
              List of domains that hide their subdomain structure.

       masquerade_exceptions
              List of user names that are not subject to address masquerading.

       mydestination
              List of domains that this mail system considers local.

       myorigin
              The domain that is appended to locally-posted mail.

       owner_request_special
              Give special treatment to owner-xxx and xxx-request addresses.


SEE ALSO

       cleanup(8), canonicalize and enqueue mail
       postmap(1), Postfix lookup table manager
       postconf(5), configuration parameters
       virtual(5), virtual aliasing




                                                                  CANONICAL(5)

Man(1) output converted with man2html