#++ # NAME # transport 5 # SUMMARY # Postfix transport table format # SYNOPSIS # \fBpostmap /etc/postfix/transport\fR # # \fBpostmap -q "\fIstring\fB" /etc/postfix/transport\fR # # \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR # DESCRIPTION # The optional \fBtransport\fR(5) table specifies a mapping from email # addresses to message delivery transports and next-hop destinations. # Message delivery transports such as \fBlocal\fR or \fBsmtp\fR # are defined in the \fBmaster.cf\fR file, and next-hop # destinations are typically hosts or domain names. The # table is searched by the \fBtrivial-rewrite\fR(8) daemon. # # This mapping overrides the default \fItransport\fR:\fInexthop\fR # selection that is built into Postfix: # .IP "\fBlocal_transport (default: local:$myhostname)\fR" # This is the default for final delivery to domains listed # with \fBmydestination\fR, and for [\fIipaddress\fR] # destinations that match \fB$inet_interfaces\fR or # \fB$proxy_interfaces\fR. The default \fInexthop\fR destination # is the MTA hostname. # .IP "\fBvirtual_transport (default: virtual:)\fR" # This is the default for final delivery to domains listed # with \fBvirtual_mailbox_domains\fR. The default \fInexthop\fR # destination is the recipient domain. # .IP "\fBrelay_transport (default: relay:)\fR" # This is the default for remote delivery to domains listed # with \fBrelay_domains\fR. In order of decreasing precedence, # the \fInexthop\fR destination is taken from \fBrelay_transport\fR, # \fBsender_dependent_relayhost_maps\fR, \fBrelayhost\fR, or from the # recipient domain. # .IP "\fBdefault_transport (default: smtp:)\fR" # This is the default for remote delivery to other destinations. # In order of decreasing precedence, the \fInexthop\fR # destination is taken from \fBsender_dependent_default_transport_maps, # \fBdefault_transport\fR, \fBsender_dependent_relayhost_maps\fR, # \fBrelayhost\fR, or from the recipient domain. # .PP # Normally, the \fBtransport\fR(5) table is specified as a text file # that serves as input to the \fBpostmap\fR(1) command. # The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used # for fast searching by the mail system. Execute the command # "\fBpostmap /etc/postfix/transport\fR" 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 TABLES" or "TCP-BASED TABLES". # CASE FOLDING # .ad # .fi # 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. # TABLE FORMAT # .ad # .fi # The input format for the \fBpostmap\fR(1) command is as follows: # .IP "\fIpattern result\fR" # When \fIpattern\fR matches the recipient address or domain, use the # corresponding \fIresult\fR. # .IP "blank lines and comments" # Empty lines and whitespace-only lines are ignored, as # are lines whose first non-whitespace character is a `#'. # .IP "multi-line text" # A logical line starts with non-whitespace text. A line that # starts with whitespace continues a logical line. # .PP # The \fIpattern\fR specifies an email address, a domain name, or # a domain name hierarchy, as described in section "TABLE LOOKUP". # # The \fIresult\fR is of the form \fItransport:nexthop\fR and # specifies how or where to deliver mail. This is described in # section "RESULT FORMAT". # TABLE SEARCH ORDER # .ad # .fi # 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: # .IP "\fIuser+extension@domain transport\fR:\fInexthop\fR" # Deliver mail for \fIuser+extension@domain\fR through # \fItransport\fR to # \fInexthop\fR. # .IP "\fIuser@domain transport\fR:\fInexthop\fR" # Deliver mail for \fIuser@domain\fR through \fItransport\fR to # \fInexthop\fR. # .IP "\fIdomain transport\fR:\fInexthop\fR" # Deliver mail for \fIdomain\fR through \fItransport\fR to # \fInexthop\fR. # .IP "\fI.domain transport\fR:\fInexthop\fR" # Deliver mail for any subdomain of \fIdomain\fR through # \fItransport\fR to \fInexthop\fR. This applies only when the # string \fBtransport_maps\fR is not listed in the # \fBparent_domain_matches_subdomains\fR configuration setting. # Otherwise, a domain name matches itself and its subdomains. # .IP "\fB*\fI transport\fR:\fInexthop\fR" # The special pattern \fB*\fR represents any address (i.e. it # functions as the wild-card pattern, and is unique to Postfix # transport tables). # .PP # Note 1: the null recipient address is looked up as # \fB$empty_address_recipient\fR@\fB$myhostname\fR (default: # mailer-daemon@hostname). # # Note 2: \fIuser@domain\fR or \fIuser+extension@domain\fR # lookup is available in Postfix 2.0 and later. # RESULT FORMAT # .ad # .fi # The lookup result is of the form \fItransport\fB:\fInexthop\fR. # The \fItransport\fR field specifies a mail delivery transport # such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR 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 # \fBmaster.cf\fR file). # # The nexthop field usually specifies one recipient domain # or hostname. In the case of the Postfix SMTP/LMTP client, # the nexthop field may contain a list of nexthop destinations # separated by comma or whitespace (Postfix 3.5 and later). # # The syntax of a nexthop destination is transport dependent. # With SMTP, specify a service on a non-default # port as \fIhost\fR:\fIservice\fR, and disable MX (mail exchanger) # DNS lookups with [\fIhost\fR] or [\fIhost\fR]:\fIport\fR. The [] form # is required when you specify an IP address instead of a hostname. # # A null \fItransport\fR and null \fInexthop\fR field 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 \fItransport\fR field with a null \fInexthop\fR field # resets the nexthop information to the recipient domain. # # A null \fItransport\fR field with non-null \fInexthop\fR field # does not modify the transport information. # EXAMPLES # .ad # .fi # 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. # # .nf # \fB\&my.domain :\fR # \fB\&.my.domain :\fR # \fB* smtp:outbound-relay.my.domain\fR # .fi # # In order to send mail for \fBexample.com\fR and its subdomains # via the \fBuucp\fR transport to the UUCP host named \fBexample\fR: # # .nf # \fBexample.com uucp:example\fR # \fB\&.example.com uucp:example\fR # .fi # # When no nexthop host name is specified, the destination domain # name is used instead. For example, the following directs mail for # \fIuser\fR@\fBexample.com\fR via the \fBslow\fR transport to a mail # exchanger for \fBexample.com\fR. The \fBslow\fR transport could be # configured to run at most one delivery process at a time: # # .nf # \fBexample.com slow:\fR # .fi # # When no transport is specified, Postfix uses the transport that # matches the address domain class (see DESCRIPTION # above). The following sends all mail for \fBexample.com\fR and its # subdomains to host \fBgateway.example.com\fR: # # .nf # \fBexample.com :[gateway.example.com]\fR # \fB\&.example.com :[gateway.example.com]\fR # .fi # # In the above example, the [] suppress MX lookups. # This prevents mail routing loops when your machine is primary MX # host for \fBexample.com\fR. # # In the case of delivery via SMTP or LMTP, one may specify # \fIhost\fR:\fIservice\fR instead of just a host: # # .nf # \fBexample.com smtp:bar.example:2025\fR # .fi # # This directs mail for \fIuser\fR@\fBexample.com\fR to host \fBbar.example\fR # port \fB2025\fR. Instead of a numerical port a symbolic name may be # used. Specify [] around the hostname if MX lookups must be disabled. # # Deliveries via SMTP or LMTP support multiple destinations # (Postfix >= 3.5): # # .nf # \fBexample.com smtp:bar.example, foo.example\fR # .fi # # This tries to deliver to \fBbar.example\fR before trying # to deliver to \fBfoo.example\fR. # # The error mailer can be used to bounce mail: # # .nf # \fB\&.example.com error:mail for *.example.com is not deliverable\fR # .fi # # This causes all mail for \fIuser\fR@\fIanything\fB.example.com\fR # to be bounced. # REGULAR EXPRESSION TABLES # .ad # .fi # 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 \fBregexp_table\fR(5) # or \fBpcre_table\fR(5). # # Each pattern is a regular expression that is applied to the entire # address being looked up. Thus, \fIsome.domain.hierarchy\fR is not # looked up via its parent domains, # nor is \fIuser+foo@domain\fR looked up as \fIuser@domain\fR. # # Patterns are applied in the order as specified in the table, until a # pattern is found that matches the search string. # # The \fBtrivial-rewrite\fR(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). # TCP-BASED TABLES # .ad # .fi # 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 \fBtcp_table\fR(5). # This feature is not available up to and including Postfix version 2.4. # # Each lookup operation uses the entire recipient address once. Thus, # \fIsome.domain.hierarchy\fR is not looked up via its parent domains, # nor is \fIuser+foo@domain\fR looked up as \fIuser@domain\fR. # # Results are the same as with indexed file lookups. # CONFIGURATION PARAMETERS # .ad # .fi # The following \fBmain.cf\fR parameters are especially relevant. # The text below provides only a parameter summary. See # \fBpostconf\fR(5) for more details including examples. # .IP "\fBempty_address_recipient (MAILER-DAEMON)\fR" # The recipient of mail addressed to the null address. # .IP "\fBparent_domain_matches_subdomains (see 'postconf -d' output)\fR" # A list of Postfix features where the pattern "example.com" also # matches subdomains of example.com, # instead of requiring an explicit ".example.com" pattern. # .IP "\fBtransport_maps (empty)\fR" # Optional lookup tables with mappings from recipient address to # (message delivery transport, next-hop destination). # SEE ALSO # trivial-rewrite(8), rewrite and resolve addresses # master(5), master.cf file format # postconf(5), configuration parameters # postmap(1), Postfix lookup table manager # README FILES # .ad # .fi # Use "\fBpostconf readme_directory\fR" or # "\fBpostconf html_directory\fR" to locate this information. # .na # .nf # ADDRESS_REWRITING_README, address rewriting guide # DATABASE_README, Postfix lookup table overview # FILTER_README, external content filter # LICENSE # .ad # .fi # 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 # # Wietse Venema # Google, Inc. # 111 8th Avenue # New York, NY 10011, USA #--