transport - format of Postfix transport table
The optional transport table specifies a mapping from domain hierarchies to message deliv-
ery transports and/or relay hosts. The mapping is used by the trivial-rewrite(8) daemon.
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 /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 expressions. In that case, the lookups are done in a slightly different
way as described below.
The format of the transport table is as follows:
When pattern matches the 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 `#'.
A logical line starts with non-whitespace text. A line that starts with whitespace
continues a logical line.
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:
Mail for domain is delivered through transport to 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 par-
ent_domain_matches_subdomains configuration setting. Otherwise, a domain name
matches itself and its subdomains.
Note: transport map entries take precedence over domains specified in the mydestination
parameter. If you use the optional transport map, it may be safer to specify explicit
entries for all domains specified in mydestination, for example:
The interpretation of the nexthop field is transport dependent. In the case of SMTP, spec-
ify 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 can also be used with IP addresses
instead of hostnames.
In order to send mail for foo.org and its subdomains via the uucp transport to the UUCP
host named foo:
When no nexthop host name is specified, the destination domain name is used instead. For
example, the following directs mail for firstname.lastname@example.org via the slow transport to a mail
exchanger for foo.org. The slow transport could be something that runs at most one deliv-
ery process at a time:
When no transport is specified, the default transport is used, as specified via the
default_transport configuration parameter. The following sends all mail for foo.org and
its subdomains to host 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 hostname:service instead of just a host:
This directs mail for email@example.com 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
The error mailer can be used to bounce mail:
.foo.org error:mail for *.foo.org is not deliverable
This causes all mail for firstname.lastname@example.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 reg-
exp_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.hierarchy 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 paren-
thesized substrings from the pattern can be interpolated as $1, $2 and so on.
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.
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.
Other parameters of interest:
The transport to use when no transport is explicitly specified.
The default host to send to when no transport table entry matches.
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
The Secure Mailer license must be distributed with this software.
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA