transport - Postfix transport table format


   postmap /etc/postfix/transport

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

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


   The   optional  transport(5)  table  specifies  a  mapping  from  email
   addresses to message delivery  transports  and  next-hop  destinations.
   Message  delivery  transports  such as local or smtp are defined in the file, and next-hop destinations are typically hosts or domain
   names. The table is searched by the trivial-rewrite(8) daemon.

   This  mapping overrides the default transport:nexthop selection that is
   built into Postfix:

   local_transport (default: local:$myhostname)
          This is the default for final delivery to  domains  listed  with
          mydestination,  and  for  [ipaddress]  destinations  that  match
          $inet_interfaces  or  $proxy_interfaces.  The  default   nexthop
          destination is the MTA hostname.

   virtual_transport (default: virtual:)
          This  is  the  default for final delivery to domains listed with
          virtual_mailbox_domains. The default nexthop destination is  the
          recipient domain.

   relay_transport (default: relay:)
          This  is  the default for remote delivery to domains listed with
          relay_domains. In order of decreasing  precedence,  the  nexthop
          destination       is       taken      from      relay_transport,
          sender_dependent_relayhost_maps,   relayhost,   or   from    the
          recipient domain.

   default_transport (default: smtp:)
          This  is  the default for remote delivery to other destinations.
          In order of decreasing precedence, the  nexthop  destination  is
          taken        from       sender_dependent_default_transport_maps,
          default_transport,  sender_dependent_relayhost_maps,  relayhost,
          or from the recipient domain.

   Normally,  the  transport(5)  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/transport"  to  rebuild  an
   indexed file after changing the corresponding 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 expressions, or lookups can be
   directed to TCP-based server. In those case, the lookups are done in  a
   slightly  different  way  as  described below under "REGULAR EXPRESSION


   The search string is folded to lowercase before database lookup. As  of
   Postfix  2.3,  the search string is not case folded with database types
   such as regexp: or pcre: whose lookup fields can match both  upper  and
   lower case.


   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 logical 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 and specifies how or where
   to deliver mail. This is described in section "RESULT FORMAT".


   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
          Deliver mail  for  user+extension@domain  through  transport  to

   user@domain transport:nexthop
          Deliver mail for user@domain through transport to nexthop.

   domain transport:nexthop
          Deliver mail for domain through transport to nexthop.

   .domain transport:nexthop
          Deliver  mail  for  any subdomain of domain through transport to
          nexthop. This applies only when the string transport_maps is not
          listed  in  the  parent_domain_matches_subdomains  configuration
          setting.  Otherwise,  a  domain  name  matches  itself  and  its

   * transport:nexthop
          The  special pattern * represents any address (i.e. it functions
          as the wild-card pattern, and is  unique  to  Postfix  transport

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

   Note 2: user@domain or user+extension@domain  lookup  is  available  in
   Postfix 2.0 and later.


   The  lookup  result  is  of  the form transport:nexthop.  The transport
   field specifies a mail delivery transport such as smtp  or  local.  The
   nexthop field specifies where and how to deliver mail.

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

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

   A null transport and null nexthop result means "do not change": use the
   delivery transport and nexthop information 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.


   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  transport  or  the nexthop information) and
   specify a wildcard for all other destinations.

        my.domain    :
        .my.domain   :

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

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

   When no transport is specified, Postfix uses the transport that matches
   the address domain class (see DESCRIPTION above).  The following  sends
   all    mail    for    and   its   subdomains   to   host      :[]     :[]

   In the above example, the [] suppress MX lookups.  This  prevents  mail
   routing loops when your machine is primary MX host for

   In  the  case  of  delivery  via SMTP, one may specify hostname:service
   instead of just a host:      smtp:bar.example:2025

   This directs mail for to host bar.example  port  2025.
   Instead  of  a  numerical  port a symbolic name may be used. Specify []
   around the hostname if MX lookups must be disabled.

   The error mailer can be used to bounce mail:     error:mail for * is not deliverable

   This causes all mail for to be bounced.


   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, some.domain.hierarchy is not looked up
   via  its  parent  domains,  nor  is  user+foo@domain   looked   up   as

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

   The trivial-rewrite(8) server disallows regular expression substitution
   of $1 etc. in regular expression lookup tables, because that could open
   a security hole (Postfix version 2.3 and later).


   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 up to and including Postfix version 2.4.

   Each  lookup  operation  uses the entire recipient address once.  Thus,
   some.domain.hierarchy is not looked up via its parent domains,  nor  is
   user+foo@domain looked up as user@domain.

   Results are the same as with indexed file lookups.


   The  following  parameters  are especially relevant.  The text
   below provides only a  parameter  summary.  See  postconf(5)  for  more
   details including examples.

          The  address  that  is  looked  up  instead  of  the null sender

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

          List of transport lookup tables.


   trivial-rewrite(8), rewrite and resolve addresses
   master(5), file format
   postconf(5), configuration parameters
   postmap(1), Postfix lookup table manager


   Use  "postconf readme_directory" or "postconf html_directory" to locate
   this information.
   ADDRESS_REWRITING_README, address rewriting guide
   DATABASE_README, Postfix lookup table overview
   FILTER_README, external content filter


   The Secure Mailer license must be distributed with this software.


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

   Wietse Venema
   Google, Inc.
   111 8th Avenue
   New York, NY 10011, USA



Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.