xref: /netbsd-src/external/ibm-public/postfix/dist/html/transport.5.html (revision 212397c69a103ae7e5eafa8731ddfae671d2dee7)
1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2        "http://www.w3.org/TR/html4/loose.dtd">
3<html> <head>
4<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
5<title> Postfix manual - transport(5) </title>
6</head> <body> <pre>
7TRANSPORT(5)                                                      TRANSPORT(5)
8
9<b>NAME</b>
10       transport - Postfix transport table format
11
12<b>SYNOPSIS</b>
13       <b>postmap /etc/postfix/transport</b>
14
15       <b>postmap -q "</b><i>string</i><b>" /etc/postfix/transport</b>
16
17       <b>postmap -q - /etc/postfix/transport</b> &lt;<i>inputfile</i>
18
19<b>DESCRIPTION</b>
20       The   optional  <a href="transport.5.html"><b>transport</b>(5)</a>  table  specifies  a  mapping  from  email
21       addresses to message delivery  transports  and  next-hop  destinations.
22       Message  delivery  transports  such as <b>local</b> or <b>smtp</b> are defined in the
23       <a href="master.5.html"><b>master.cf</b></a> file, and next-hop destinations are typically hosts or domain
24       names. The table is searched by the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a> daemon.
25
26       This  mapping overrides the default <i>transport</i>:<i>nexthop</i> selection that is
27       built into Postfix:
28
29       <b><a href="postconf.5.html#local_transport">local_transport</a> (default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b>
30              This is the default for final delivery to  domains  listed  with
31              <b><a href="postconf.5.html#mydestination">mydestination</a></b>,  and  for  [<i>ipaddress</i>]  destinations  that  match
32              <b>$<a href="postconf.5.html#inet_interfaces">inet_interfaces</a></b> or <b>$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a></b>. The default <i>nexthop</i>  des-
33              tination is the MTA hostname.
34
35       <b><a href="postconf.5.html#virtual_transport">virtual_transport</a> (default: <a href="virtual.8.html">virtual</a>:)</b>
36              This  is  the  default for final delivery to domains listed with
37              <b><a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a></b>. The default <i>nexthop</i> destination is  the
38              recipient domain.
39
40       <b><a href="postconf.5.html#relay_transport">relay_transport</a> (default: relay:)</b>
41              This  is  the default for remote delivery to domains listed with
42              <b><a href="postconf.5.html#relay_domains">relay_domains</a></b>. In order of decreasing  precedence,  the  <i>nexthop</i>
43              destination   is   taken   from  <b><a href="postconf.5.html#relay_transport">relay_transport</a></b>,  <b><a href="postconf.5.html#sender_dependent_relayhost_maps">sender_depen</a>-</b>
44              <b><a href="postconf.5.html#sender_dependent_relayhost_maps">dent_relayhost_maps</a></b>, <b><a href="postconf.5.html#relayhost">relayhost</a></b>, or from the recipient domain.
45
46       <b><a href="postconf.5.html#default_transport">default_transport</a> (default: <a href="smtp.8.html">smtp</a>:)</b>
47              This is the default for remote delivery to  other  destinations.
48              In  order  of  decreasing precedence, the <i>nexthop</i> destination is
49              taken       from        <b><a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>,</b>
50              <b><a href="postconf.5.html#default_transport">default_transport</a></b>,  <b><a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a></b>,  <b><a href="postconf.5.html#relayhost">relayhost</a></b>,
51              or from the recipient domain.
52
53       Normally, the <a href="transport.5.html"><b>transport</b>(5)</a> table is  specified  as  a  text  file  that
54       serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> command.  The result, an indexed file
55       in <b>dbm</b> or <b>db</b> format, is used for fast searching  by  the  mail  system.
56       Execute  the  command  "<b>postmap  /etc/postfix/transport</b>"  to rebuild an
57       indexed file after changing the corresponding transport table.
58
59       When the table is provided via other means such as NIS,  LDAP  or  SQL,
60       the same lookups are done as for ordinary indexed files.
61
62       Alternatively,  the  table  can be provided as a regular-expression map
63       where patterns are given as regular  expressions,  or  lookups  can  be
64       directed  to TCP-based server. In those case, the lookups are done in a
65       slightly different way as described  below  under  "REGULAR  EXPRESSION
66       TABLES" or "TCP-BASED TABLES".
67
68<b>CASE FOLDING</b>
69       The  search string is folded to lowercase before database lookup. As of
70       Postfix 2.3, the search string is not case folded with  database  types
71       such  as  <a href="regexp_table.5.html">regexp</a>: or <a href="pcre_table.5.html">pcre</a>: whose lookup fields can match both upper and
72       lower case.
73
74<b>TABLE FORMAT</b>
75       The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
76
77       <i>pattern result</i>
78              When <i>pattern</i> matches the recipient address or  domain,  use  the
79              corresponding <i>result</i>.
80
81       blank lines and comments
82              Empty  lines and whitespace-only lines are ignored, as are lines
83              whose first non-whitespace character is a `#'.
84
85       multi-line text
86              A logical line starts with  non-whitespace  text.  A  line  that
87              starts with whitespace continues a logical line.
88
89       The <i>pattern</i> specifies an email address, a domain name, or a domain name
90       hierarchy, as described in section "TABLE LOOKUP".
91
92       The <i>result</i> is of the form <i>transport:nexthop</i> and specifies how or  where
93       to deliver mail. This is described in section "RESULT FORMAT".
94
95<b>TABLE SEARCH ORDER</b>
96       With  lookups  from  indexed files such as DB or DBM, or from networked
97       tables such as NIS, LDAP or SQL, patterns are tried  in  the  order  as
98       listed below:
99
100       <i>user+extension@domain transport</i>:<i>nexthop</i>
101              Deliver mail for <i>user+extension@domain</i> through <i>transport</i> to <i>nex-</i>
102              <i>thop</i>.
103
104       <i>user@domain transport</i>:<i>nexthop</i>
105              Deliver mail for <i>user@domain</i> through <i>transport</i> to <i>nexthop</i>.
106
107       <i>domain transport</i>:<i>nexthop</i>
108              Deliver mail for <i>domain</i> through <i>transport</i> to <i>nexthop</i>.
109
110       <i>.domain transport</i>:<i>nexthop</i>
111              Deliver mail for any subdomain of <i>domain</i>  through  <i>transport</i>  to
112              <i>nexthop</i>. This applies only when the string <b><a href="postconf.5.html#transport_maps">transport_maps</a></b> is not
113              listed  in  the  <b><a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a></b>  configuration
114              setting.  Otherwise, a domain name matches itself and its subdo-
115              mains.
116
117       <b>*</b> <i>transport</i>:<i>nexthop</i>
118              The special pattern <b>*</b> represents any address (i.e. it  functions
119              as  the  wild-card  pattern,  and is unique to Postfix transport
120              tables).
121
122       Note   1:   the   null   recipient   address   is    looked    up    as
123       <b>$<a href="postconf.5.html#empty_address_recipient">empty_address_recipient</a></b>@<b>$<a href="postconf.5.html#myhostname">myhostname</a></b> (default: mailer-daemon@hostname).
124
125       Note 2: <i>user@domain</i> or <i>user+extension@domain</i>  lookup  is  available  in
126       Postfix 2.0 and later.
127
128<b>RESULT FORMAT</b>
129       The  lookup  result  is  of  the form <i>transport</i><b>:</b><i>nexthop</i>.  The <i>transport</i>
130       field specifies a mail delivery transport such as <b>smtp</b>  or  <b>local</b>.  The
131       <i>nexthop</i> field specifies where and how to deliver mail.
132
133       The  transport  field  specifies  the name of a mail delivery transport
134       (the first name of a mail delivery service entry in  the  Postfix  <a href="master.5.html"><b>mas-</b>
135       <b>ter.cf</b></a> file).
136
137       The  interpretation of the nexthop field is transport dependent. In the
138       case of SMTP, specify a service on a non-default port as  <i>host</i>:<i>service</i>,
139       and disable MX (mail exchanger) DNS lookups with [<i>host</i>] or [<i>host</i>]:<i>port</i>.
140       The [] form is required when you specify an IP  address  instead  of  a
141       hostname.
142
143       A null <i>transport</i> and null <i>nexthop</i> result 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 <i>transport</i> field with a null <i>nexthop</i> field resets the nexthop
148       information to the recipient domain.
149
150       A null <i>transport</i> field with non-null <i>nexthop</i> field does not modify  the
151       transport information.
152
153<b>EXAMPLES</b>
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            <b>my.domain    :</b>
160            <b>.my.domain   :</b>
161            <b>*            <a href="smtp.8.html">smtp</a>:outbound-relay.my.domain</b>
162
163       In order to send mail for <b>example.com</b> and its subdomains via  the  <b>uucp</b>
164       transport to the UUCP host named <b>example</b>:
165
166            <b>example.com      uucp:example</b>
167            <b>.example.com     uucp:example</b>
168
169       When  no nexthop host name is specified, the destination domain name is
170       used instead. For example, the following directs  mail  for  <i>user</i>@<b>exam-</b>
171       <b>ple.com</b>  via  the  <b>slow</b>  transport to a mail exchanger for <b>example.com</b>.
172       The <b>slow</b> transport could be configured to  run  at  most  one  delivery
173       process at a time:
174
175            <b>example.com      slow:</b>
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  <b>example.com</b>  and  its  subdomains to host <b>gateway.exam-</b>
180       <b>ple.com</b>:
181
182            <b>example.com      :[gateway.example.com]</b>
183            <b>.example.com     :[gateway.example.com]</b>
184
185       In the above example, the [] suppress MX lookups.  This  prevents  mail
186       routing loops when your machine is primary MX host for <b>example.com</b>.
187
188       In  the  case  of  delivery  via SMTP, one may specify <i>hostname</i>:<i>service</i>
189       instead of just a host:
190
191            <b>example.com      <a href="smtp.8.html">smtp</a>:bar.example:2025</b>
192
193       This directs mail for <i>user</i>@<b>example.com</b> to host <b>bar.example</b>  port  <b>2025</b>.
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       The error mailer can be used to bounce mail:
198
199            <b>.example.com     <a href="error.8.html">error</a>:mail for *.example.com is not deliverable</b>
200
201       This causes all mail for <i>user</i>@<i>anything</i><b>.example.com</b> to be bounced.
202
203<b>REGULAR EXPRESSION TABLES</b>
204       This section describes how the table lookups change when the  table  is
205       given  in the form of regular expressions. For a description of regular
206       expression lookup table syntax, see <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
207
208       Each pattern is a regular expression that  is  applied  to  the  entire
209       address  being  looked up. Thus, <i>some.domain.hierarchy</i> is not looked up
210       via  its  parent  domains,  nor  is  <i>user+foo@domain</i>   looked   up   as
211       <i>user@domain</i>.
212
213       Patterns  are  applied  in the order as specified in the table, until a
214       pattern is found that matches the search string.
215
216       The <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a> server disallows regular expression substitution
217       of $1 etc. in regular expression lookup tables, because that could open
218       a security hole (Postfix version 2.3 and later).
219
220<b>TCP-BASED TABLES</b>
221       This section describes how the table lookups change  when  lookups  are
222       directed   to  a  TCP-based  server.  For  a  description  of  the  TCP
223       client/server lookup protocol, see <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.  This feature  is  not
224       available up to and including Postfix version 2.4.
225
226       Each  lookup  operation  uses the entire recipient address once.  Thus,
227       <i>some.domain.hierarchy</i> is not looked up via its parent domains,  nor  is
228       <i>user+foo@domain</i> looked up as <i>user@domain</i>.
229
230       Results are the same as with indexed file lookups.
231
232<b>CONFIGURATION PARAMETERS</b>
233       The  following  <a href="postconf.5.html"><b>main.cf</b></a>  parameters  are especially relevant.  The text
234       below provides only a  parameter  summary.  See  <a href="postconf.5.html"><b>postconf</b>(5)</a>  for  more
235       details including examples.
236
237       <b><a href="postconf.5.html#empty_address_recipient">empty_address_recipient</a></b>
238              The  address  that  is  looked  up  instead  of  the null sender
239              address.
240
241       <b><a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a></b>
242              List of Postfix features that use <i>domain.tld</i> patterns  to  match
243              <i>sub.domain.tld</i> (as opposed to requiring <i>.domain.tld</i> patterns).
244
245       <b><a href="postconf.5.html#transport_maps">transport_maps</a></b>
246              List of transport lookup tables.
247
248<b>SEE ALSO</b>
249       <a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>, rewrite and resolve addresses
250       <a href="master.5.html">master(5)</a>, <a href="master.5.html">master.cf</a> file format
251       <a href="postconf.5.html">postconf(5)</a>, configuration parameters
252       <a href="postmap.1.html">postmap(1)</a>, Postfix lookup table manager
253
254<b>README FILES</b>
255       <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a>, address rewriting guide
256       <a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
257       <a href="FILTER_README.html">FILTER_README</a>, external content filter
258
259<b>LICENSE</b>
260       The Secure Mailer license must be distributed with this software.
261
262<b>AUTHOR(S)</b>
263       Wietse Venema
264       IBM T.J. Watson Research
265       P.O. Box 704
266       Yorktown Heights, NY 10598, USA
267
268                                                                  TRANSPORT(5)
269</pre> </body> </html>
270