1TRANSPORT(5)                  File Formats Manual                 TRANSPORT(5)
2
3
4

NAME

6       transport - Postfix transport table format
7

SYNOPSIS

9       postmap /etc/postfix/transport
10
11       postmap -q "string" /etc/postfix/transport
12
13       postmap -q - /etc/postfix/transport <inputfile
14

DESCRIPTION

16       The   optional  transport(5)  table  specifies  a  mapping  from  email
17       addresses to message delivery  transports  and  next-hop  destinations.
18       Message  delivery  transports  such as local or smtp are defined in the
19       master.cf file, and next-hop destinations are typically hosts or domain
20       names. The table is searched by the trivial-rewrite(8) daemon.
21
22       This  mapping overrides the default transport:nexthop selection that is
23       built into Postfix:
24
25       local_transport (default: local:$myhostname)
26              This is the default for final delivery to  domains  listed  with
27              mydestination,  and  for  [ipaddress]  destinations  that  match
28              $inet_interfaces or $proxy_interfaces. The default nexthop  des‐
29              tination is the MTA hostname.
30
31       virtual_transport (default: virtual:)
32              This  is  the  default for final delivery to domains listed with
33              virtual_mailbox_domains. The default nexthop destination is  the
34              recipient domain.
35
36       relay_transport (default: relay:)
37              This  is  the default for remote delivery to domains listed with
38              relay_domains. In order of decreasing  precedence,  the  nexthop
39              destination   is   taken   from  relay_transport,  sender_depen‐
40              dent_relayhost_maps, relayhost, or from the recipient domain.
41
42       default_transport (default: smtp:)
43              This is the default for remote delivery to  other  destinations.
44              In  order  of  decreasing precedence, the nexthop destination is
45              taken       from        sender_dependent_default_transport_maps,
46              default_transport,  sender_dependent_relayhost_maps,  relayhost,
47              or from the recipient domain.
48
49       Normally, the transport(5) table is  specified  as  a  text  file  that
50       serves as input to the postmap(1) command.  The result, an indexed file
51       in dbm or db format, is used for fast searching  by  the  mail  system.
52       Execute  the  command  "postmap  /etc/postfix/transport"  to rebuild an
53       indexed file after changing the corresponding transport table.
54
55       When the table is provided via other means such as NIS,  LDAP  or  SQL,
56       the same lookups are done as for ordinary indexed files.
57
58       Alternatively,  the  table  can be provided as a regular-expression map
59       where patterns are given as regular  expressions,  or  lookups  can  be
60       directed  to TCP-based server. In those case, the lookups are done in a
61       slightly different way as described  below  under  "REGULAR  EXPRESSION
62       TABLES" or "TCP-BASED TABLES".
63

CASE FOLDING

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

TABLE FORMAT

71       The input format for the postmap(1) command is as follows:
72
73       pattern result
74              When pattern matches the recipient address or  domain,  use  the
75              corresponding result.
76
77       blank lines and comments
78              Empty  lines and whitespace-only lines are ignored, as are lines
79              whose first non-whitespace character is a `#'.
80
81       multi-line text
82              A logical line starts with  non-whitespace  text.  A  line  that
83              starts with whitespace continues a logical line.
84
85       The pattern specifies an email address, a domain name, or a domain name
86       hierarchy, as described in section "TABLE LOOKUP".
87
88       The result is of the form transport:nexthop and specifies how or  where
89       to deliver mail. This is described in section "RESULT FORMAT".
90

TABLE SEARCH ORDER

92       With  lookups  from  indexed files such as DB or DBM, or from networked
93       tables such as NIS, LDAP or SQL, patterns are tried  in  the  order  as
94       listed below:
95
96       user+extension@domain transport:nexthop
97              Deliver mail for user+extension@domain through transport to nex‐
98              thop.
99
100       user@domain transport:nexthop
101              Deliver mail for user@domain through transport to nexthop.
102
103       domain transport:nexthop
104              Deliver mail for domain through transport to nexthop.
105
106       .domain transport:nexthop
107              Deliver mail for any subdomain of domain  through  transport  to
108              nexthop. This applies only when the string transport_maps is not
109              listed  in  the  parent_domain_matches_subdomains  configuration
110              setting.  Otherwise, a domain name matches itself and its subdo‐
111              mains.
112
113       * transport:nexthop
114              The special pattern * represents any address (i.e. it  functions
115              as  the  wild-card  pattern,  and is unique to Postfix transport
116              tables).
117
118       Note   1:   the   null   recipient   address   is    looked    up    as
119       $empty_address_recipient@$myhostname (default: mailer-daemon@hostname).
120
121       Note  2:  user@domain  or  user+extension@domain lookup is available in
122       Postfix 2.0 and later.
123

RESULT FORMAT

125       The lookup result is of  the  form  transport:nexthop.   The  transport
126       field  specifies  a  mail delivery transport such as smtp or local. The
127       nexthop field specifies where and how to deliver mail.
128
129       The transport field specifies the name of  a  mail  delivery  transport
130       (the  first  name  of a mail delivery service entry in the Postfix mas‐
131       ter.cf file).
132
133       The nexthop field usually specifies one recipient domain  or  hostname.
134       In the case of the Postfix SMTP/LMTP client, the nexthop field may con‐
135       tain a list of nexthop destinations separated by  comma  or  whitespace
136       (Postfix 3.5 and later).
137
138       The syntax of a nexthop destination is transport dependent.  With SMTP,
139       specify a service on a non-default port as host:service, and disable MX
140       (mail exchanger) DNS lookups with [host] or [host]:port. The [] form is
141       required when you specify an IP address instead of a hostname.
142
143       A null transport and null nexthop field means "do not change": use  the
144       delivery  transport and nexthop information that would be used when the
145       entire transport table did not exist.
146
147       A non-null transport field with a null nexthop field resets the nexthop
148       information to the recipient domain.
149
150       A  null transport field with non-null nexthop field does not modify the
151       transport information.
152

EXAMPLES

154       In order to deliver internal mail directly, while using  a  mail  relay
155       for  all other mail, specify a null entry for internal destinations (do
156       not change the delivery transport or the nexthop information) and spec‐
157       ify a wildcard for all other destinations.
158
159            my.domain    :
160            .my.domain   :
161            *            smtp:outbound-relay.my.domain
162
163       In  order  to send mail for example.com and its subdomains via the uucp
164       transport to the UUCP host named example:
165
166            example.com      uucp:example
167            .example.com     uucp:example
168
169       When no nexthop host name is specified, the destination domain name  is
170       used  instead.  For  example, the following directs mail for user@exam‐
171       ple.com via the slow transport to a  mail  exchanger  for  example.com.
172       The  slow  transport  could  be  configured to run at most one delivery
173       process at a time:
174
175            example.com      slow:
176
177       When no transport is specified, Postfix uses the transport that matches
178       the  address domain class (see DESCRIPTION above).  The following sends
179       all mail for example.com  and  its  subdomains  to  host  gateway.exam‐
180       ple.com:
181
182            example.com      :[gateway.example.com]
183            .example.com     :[gateway.example.com]
184
185       In  the  above example, the [] suppress MX lookups.  This prevents mail
186       routing loops when your machine is primary MX host for example.com.
187
188       In the case of delivery via SMTP or LMTP, one may specify  host:service
189       instead of just a host:
190
191            example.com      smtp:bar.example:2025
192
193       This  directs  mail for user@example.com to host bar.example port 2025.
194       Instead of a numerical port a symbolic name may  be  used.  Specify  []
195       around the hostname if MX lookups must be disabled.
196
197       Deliveries  via  SMTP or LMTP support multiple destinations (Postfix >=
198       3.5):
199
200            example.com      smtp:bar.example, foo.example
201
202       This tries to deliver  to  bar.example  before  trying  to  deliver  to
203       foo.example.
204
205       The error mailer can be used to bounce mail:
206
207            .example.com     error:mail for *.example.com is not deliverable
208
209       This causes all mail for user@anything.example.com to be bounced.
210

REGULAR EXPRESSION TABLES

212       This  section  describes how the table lookups change when the table is
213       given in the form of regular expressions. For a description of  regular
214       expression lookup table syntax, see regexp_table(5) or pcre_table(5).
215
216       Each  pattern  is  a  regular  expression that is applied to the entire
217       address being looked up. Thus, some.domain.hierarchy is not  looked  up
218       via   its   parent   domains,  nor  is  user+foo@domain  looked  up  as
219       user@domain.
220
221       Patterns are applied in the order as specified in the  table,  until  a
222       pattern is found that matches the search string.
223
224       The trivial-rewrite(8) server disallows regular expression substitution
225       of $1 etc. in regular expression lookup tables, because that could open
226       a security hole (Postfix version 2.3 and later).
227

TCP-BASED TABLES

229       This  section  describes  how the table lookups change when lookups are
230       directed  to  a  TCP-based  server.  For  a  description  of  the   TCP
231       client/server  lookup  protocol, see tcp_table(5).  This feature is not
232       available up to and including Postfix version 2.4.
233
234       Each lookup operation uses the entire recipient  address  once.   Thus,
235       some.domain.hierarchy  is  not looked up via its parent domains, nor is
236       user+foo@domain looked up as user@domain.
237
238       Results are the same as with indexed file lookups.
239

CONFIGURATION PARAMETERS

241       The following main.cf parameters are  especially  relevant.   The  text
242       below  provides  only  a  parameter  summary.  See postconf(5) for more
243       details including examples.
244
245       empty_address_recipient (MAILER-DAEMON)
246              The recipient of mail addressed to the null address.
247
248       parent_domain_matches_subdomains (see 'postconf -d' output)
249              A list of Postfix features where the pattern "example.com"  also
250              matches  subdomains  of  example.com,  instead  of  requiring an
251              explicit ".example.com" pattern.
252
253       transport_maps (empty)
254              Optional lookup tables with mappings from recipient  address  to
255              (message delivery transport, next-hop destination).
256

SEE ALSO

258       trivial-rewrite(8), rewrite and resolve addresses
259       master(5), master.cf file format
260       postconf(5), configuration parameters
261       postmap(1), Postfix lookup table manager
262

README FILES

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

LICENSE

271       The Secure Mailer license must be distributed with this software.
272

AUTHOR(S)

274       Wietse Venema
275       IBM T.J. Watson Research
276       P.O. Box 704
277       Yorktown Heights, NY 10598, USA
278
279       Wietse Venema
280       Google, Inc.
281       111 8th Avenue
282       New York, NY 10011, USA
283
284
285
286                                                                  TRANSPORT(5)
Impressum