    TRANSPORT(5)                                         TRANSPORT(5)

    NAME
           transport - format of Postfix transport table

    SYNOPSIS
           postmap /usr/local/etc/postfix/transport

           postmap -q "string" /usr/local/etc/postfix/transport

           postmap -q - /usr/local/etc/postfix/transport <inputfile

    DESCRIPTION
           The  optional  transport  table  specifies  a mapping from
           email addresses  to  message  delivery  transports  and/or
           relay hosts. The mapping is used by the trivial-rewrite(8)
           daemon.

           This mapping overrides the default routing that  is  built
           into Postfix:

           mydestination
                  A  list of domains that is by default delivered via
                  $local_transport.

           virtual_mailbox_domains
                  A list of domains that is by default delivered  via
                  $virtual_transport.

           relay_domains
                  A  list of domains that is by default delivered via
                  $relay_transport.

           any other destination
                  Mail for any other destination is by default deliv-
                  ered via $default_transport.

           Normally,  the transport 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  /usr/local/etc/postfix/transport  in  order  to rebuild the
           indexed file after changing the transport table.

           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 expres-
           sions. In that case, the lookups are done  in  a  slightly
           different  way as described in section "REGULAR EXPRESSION
           TABLES".

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

           pattern result
                  When  pattern  matches  the  recipient  address  or
                  domain, use the corresponding result.

           blank lines and comments
                  Empty lines and whitespace-only lines are  ignored,
                  as  are  lines whose first non-whitespace character
                  is a `#'.

           multi-line text
                  A logical line starts with non-whitespace  text.  A
                  line  that starts with whitespace continues a logi-
                  cal line.

           The pattern specifies an email address, a domain name,  or
           a  domain  name  hierarchy, as described in section "TABLE
           LOOKUP".

           The result is of the form transport:nexthop.   The  trans-
           port  field  specifies  a  mail delivery transport such as
           smtp or local. The nexthop field specifies where  and  how
           to deliver mail. More details are given in section "RESULT
           FORMAT".

    TABLE LOOKUP
           With lookups from indexed files such as DB or DBM, or from
           networked  tables  such  as NIS, LDAP or SQL, patterns are
           tried in the order as listed below:

           user+extension@domain transport:nexthop
                  Mail for user+extension@domain is delivered through
                  transport to nexthop.

           user@domain transport:nexthop
                  Mail for user@domain is delivered through transport
                  to nexthop.

           domain transport:nexthop
                  Mail for domain is delivered through  transport  to
                  nexthop.

           .domain transport:nexthop
                  Mail  for  any  subdomain  of  domain  is delivered
                  through transport to  nexthop.  This  applies  only
                  when the string transport_maps is not listed in the
                  parent_domain_matches_subdomains configuration set-
                  ting.   Otherwise, a domain name matches itself and
                  its subdomains.

           Note 1: the special pattern * represents any address (i.e.
           it functions as the wild-card pattern).

           Note  2:  the  null  recipient  address  is  looked  up as
           $empty_address_recipient@$myhostname (default: mailer-dae-
           mon@hostname).

    RESULT FORMAT
           The  transport field specifies the name of a mail delivery
           transport (the first name of a mail delivery service entry
           in the Postfix master.cf file).

           The  interpretation  of  the  nexthop  field  is transport
           dependent. In the case of SMTP, specify host:service for a
           non-default  server port, and use [host] or [host]:port in
           order to disable MX (mail exchanger) DNS lookups.  The  []
           form is required when you specify an IP address instead of
           a hostname.

           A null transport and null nexthop  result  means  "do  not
           change":  use  the delivery transport and nexthop informa-
           tion that would be used when the  entire  transport  table
           did not exist.

           A  non-null  transport  field  with  a  null nexthop field
           resets the nexthop information to the recipient domain.

           A null transport field with non-null  nexthop  field  does
           not modify the transport information.

    EXAMPLES
           In  order to deliver internal mail directly, while using a
           mail relay for all other mail, specify a  null  entry  for
           internal  destinations  (do not change the delivery trans-
           port or the nexthop information) and  specify  a  wildcard
           for all other destinations.

                my.domain    :
                .my.domain   :
                *            smtp:outbound-relay.my.domain

           In  order  to send mail for foo.org and its subdomains via
           the uucp transport to the UUCP host named foo:

                foo.org      uucp:foo
                .foo.org     uucp:foo

           When no nexthop host name is  specified,  the  destination
           domain  name  is  used instead. For example, the following
           directs mail for user@foo.org via the slow transport to  a
           mail  exchanger  for foo.org.  The slow transport could be
           something that runs at most  one  delivery  process  at  a
           time:

                foo.org      slow:

           When no transport is specified, Postfix uses the transport
           that matches the address domain class (see TRANSPORT FIELD
           discussion  above).   The  following  sends  all  mail for
           foo.org and its subdomains to host gateway.foo.org:

                foo.org      :[gateway.foo.org]
                .foo.org     :[gateway.foo.org]

           In the above example, the  []  are  used  to  suppress  MX
           lookups.   The  result  would  likely  point to your local
           machine.

           In the case of delivery via SMTP, one  may  specify  host-
           name:service instead of just a host:

                foo.org      smtp:bar.org:2025

           This  directs  mail  for user@foo.org to host bar.org port
           2025. Instead of a numerical port a symbolic name  may  be
           used.  Specify  [] around the hostname in order to disable
           MX lookups.

           The error mailer can be used to bounce mail:

                .foo.org      error:mail for *.foo.org is not  deliv-
           erable

           This  causes  all  mail  for  user@anything.foo.org  to be
           bounced.

    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 domain being looked up. Thus, some.domain.hier-
           archy is not broken up into parent domains.

           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 interpolated as $1, $2 and so on.

    CONFIGURATION PARAMETERS
           The  following  main.cf parameters are especially relevant
           to this topic. See the Postfix  main.cf  file  for  syntax
           details  and  for  default  values. Use the postfix reload
           command after a configuration change.

           empty_address_recipient
                  The address that is looked up instead of  the  null
                  sender address.

           parent_domain_matches_subdomains
                  List  of  Postfix features that use domain.tld pat-
                  terns  to  match  sub.domain.tld  (as  opposed   to
                  requiring .domain.tld patterns).

           transport_maps
                  List of transport lookup tables.

    SEE ALSO
           postmap(1) create mapping table
           trivial-rewrite(8) rewrite and resolve addresses
           pcre_table(5) format of PCRE tables
           regexp_table(5) format of POSIX regular expression tables

    LICENSE
           The  Secure  Mailer  license must be distributed with this
           software.

    AUTHOR(S)
           Wietse Venema
           IBM T.J. Watson Research
           P.O. Box 704
           Yorktown Heights, NY 10598, USA

                                                         TRANSPORT(5)