Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / external / ibm-public / postfix / dist / man / man5 / transport.5
blob343b6ead0b6be12fc25b0040e912667ea75d0eca
1 .\"     $NetBSD$
2 .\"
3 .TH TRANSPORT 5 
4 .ad
5 .fi
6 .SH NAME
7 transport
8 \-
9 Postfix transport table format
10 .SH "SYNOPSIS"
11 .na
12 .nf
13 \fBpostmap /etc/postfix/transport\fR
15 \fBpostmap -q "\fIstring\fB" /etc/postfix/transport\fR
17 \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR
18 .SH DESCRIPTION
19 .ad
20 .fi
21 The optional \fBtransport\fR(5) table specifies a mapping from email
22 addresses to message delivery transports and next-hop destinations.
23 Message delivery transports such as \fBlocal\fR or \fBsmtp\fR
24 are defined in the \fBmaster.cf\fR file, and next-hop
25 destinations are typically hosts or domain names. The
26 table is searched by the \fBtrivial-rewrite\fR(8) daemon.
28 This mapping overrides the default \fItransport\fR:\fInexthop\fR
29 selection that is built into Postfix:
30 .IP "\fBlocal_transport (default: local:$myhostname)\fR"
31 This is the default for final delivery to domains listed
32 with \fBmydestination\fR, and for [\fIipaddress\fR]
33 destinations that match \fB$inet_interfaces\fR or
34 \fB$proxy_interfaces\fR. The default \fInexthop\fR destination
35 is the MTA hostname.
36 .IP "\fBvirtual_transport (default: virtual:)\fR"
37 This is the default for final delivery to domains listed
38 with \fBvirtual_mailbox_domains\fR. The default \fInexthop\fR
39 destination is the recipient domain.
40 .IP "\fBrelay_transport (default: relay:)\fR"
41 This is the default for remote delivery to domains listed
42 with \fBrelay_domains\fR. In order of decreasing precedence,
43 the \fInexthop\fR destination is taken from \fBrelay_transport\fR,
44 \fBsender_dependent_relayhost_maps\fR, \fBrelayhost\fR, or from the
45 recipient domain.
46 .IP "\fBdefault_transport (default: smtp:)\fR"
47 This is the default for remote delivery to other destinations.
48 In order of decreasing precedence, the \fInexthop\fR
49 destination is taken from \fBdefault_transport\fR,
50 \fBsender_dependent_relayhost_maps\fR, \fBrelayhost\fR, or from the
51 recipient domain.
52 .PP
53 Normally, the \fBtransport\fR(5) table is specified as a text file
54 that serves as input to the \fBpostmap\fR(1) command.
55 The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used
56 for fast searching by the mail system. Execute the command
57 "\fBpostmap /etc/postfix/transport\fR" to rebuild an indexed
58 file after changing the corresponding transport table.
60 When the table is provided via other means such as NIS, LDAP
61 or SQL, the same lookups are done as for ordinary indexed files.
63 Alternatively, the table can be provided as a regular-expression
64 map where patterns are given as regular expressions, or lookups
65 can be directed to TCP-based server. In those case, the lookups
66 are done in a slightly different way as described below under
67 "REGULAR EXPRESSION TABLES" or "TCP-BASED TABLES".
68 .SH "CASE FOLDING"
69 .na
70 .nf
71 .ad
72 .fi
73 The search string is folded to lowercase before database
74 lookup. As of Postfix 2.3, the search string is not case
75 folded with database types such as regexp: or pcre: whose
76 lookup fields can match both upper and lower case.
77 .SH "TABLE FORMAT"
78 .na
79 .nf
80 .ad
81 .fi
82 The input format for the \fBpostmap\fR(1) command is as follows:
83 .IP "\fIpattern result\fR"
84 When \fIpattern\fR matches the recipient address or domain, use the
85 corresponding \fIresult\fR.
86 .IP "blank lines and comments"
87 Empty lines and whitespace-only lines are ignored, as
88 are lines whose first non-whitespace character is a `#'.
89 .IP "multi-line text"
90 A logical line starts with non-whitespace text. A line that
91 starts with whitespace continues a logical line.
92 .PP
93 The \fIpattern\fR specifies an email address, a domain name, or
94 a domain name hierarchy, as described in section "TABLE LOOKUP".
96 The \fIresult\fR is of the form \fItransport:nexthop\fR and
97 specifies how or where to deliver mail. This is described in
98 section "RESULT FORMAT".
99 .SH "TABLE SEARCH ORDER"
104 With lookups from indexed files such as DB or DBM, or from networked
105 tables such as NIS, LDAP or SQL, patterns are tried in the order as
106 listed below:
107 .IP "\fIuser+extension@domain transport\fR:\fInexthop\fR"
108 Deliver mail for \fIuser+extension@domain\fR through
109 \fItransport\fR to
110 \fInexthop\fR.
111 .IP "\fIuser@domain transport\fR:\fInexthop\fR"
112 Deliver mail for \fIuser@domain\fR through \fItransport\fR to
113 \fInexthop\fR.
114 .IP "\fIdomain transport\fR:\fInexthop\fR"
115 Deliver mail for \fIdomain\fR through \fItransport\fR to
116 \fInexthop\fR.
117 .IP "\fI.domain transport\fR:\fInexthop\fR"
118 Deliver mail for any subdomain of \fIdomain\fR through
119 \fItransport\fR to \fInexthop\fR. This applies only when the
120 string \fBtransport_maps\fR is not listed in the
121 \fBparent_domain_matches_subdomains\fR configuration setting.
122 Otherwise, a domain name matches itself and its subdomains.
123 .IP "\fB*\fI transport\fR:\fInexthop\fR"
124 The special pattern \fB*\fR represents any address (i.e. it
125 functions as the wild-card pattern, and is unique to Postfix
126 transport tables).
128 Note 1: the null recipient address is looked up as
129 \fB$empty_address_recipient\fR@\fB$myhostname\fR (default:
130 mailer-daemon@hostname).
132 Note 2: \fIuser@domain\fR or \fIuser+extension@domain\fR
133 lookup is available in Postfix 2.0 and later.
134 .SH "RESULT FORMAT"
139 The lookup result is of the form \fItransport\fB:\fInexthop\fR.
140 The \fItransport\fR field specifies a mail delivery transport
141 such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR field
142 specifies where and how to deliver mail.
144 The transport field specifies the name of a mail delivery transport
145 (the first name of a mail delivery service entry in the Postfix
146 \fBmaster.cf\fR file).
148 The interpretation of the nexthop field is transport
149 dependent. In the case of SMTP, specify a service on a non-default
150 port as \fIhost\fR:\fIservice\fR, and disable MX (mail exchanger)
151 DNS lookups with [\fIhost\fR] or [\fIhost\fR]:\fIport\fR. The [] form
152 is required when you specify an IP address instead of a hostname.
154 A null \fItransport\fR and null \fInexthop\fR result means "do
155 not change": use the delivery transport and nexthop information
156 that would be used when the entire transport table did not exist.
158 A non-null \fItransport\fR field with a null \fInexthop\fR field
159 resets the nexthop information to the recipient domain.
161 A null \fItransport\fR field with non-null \fInexthop\fR field
162 does not modify the transport information.
163 .SH "EXAMPLES"
168 In order to deliver internal mail directly, while using a
169 mail relay for all other mail, specify a null entry for
170 internal destinations (do not change the delivery transport or
171 the nexthop information) and specify a wildcard for all other
172 destinations.
175      \fB\&my.domain    :\fR
176      \fB\&.my.domain   :\fR
177      \fB*            smtp:outbound-relay.my.domain\fR
180 In order to send mail for \fBexample.com\fR and its subdomains
181 via the \fBuucp\fR transport to the UUCP host named \fBexample\fR:
184      \fBexample.com      uucp:example\fR
185      \fB\&.example.com     uucp:example\fR
188 When no nexthop host name is specified, the destination domain
189 name is used instead. For example, the following directs mail for
190 \fIuser\fR@\fBexample.com\fR via the \fBslow\fR transport to a mail
191 exchanger for \fBexample.com\fR.  The \fBslow\fR transport could be
192 configured to run at most one delivery process at a time:
195      \fBexample.com      slow:\fR
198 When no transport is specified, Postfix uses the transport that
199 matches the address domain class (see DESCRIPTION
200 above).  The following sends all mail for \fBexample.com\fR and its
201 subdomains to host \fBgateway.example.com\fR:
204      \fBexample.com      :[gateway.example.com]\fR
205      \fB\&.example.com     :[gateway.example.com]\fR
208 In the above example, the [] suppress MX lookups.
209 This prevents mail routing loops when your machine is primary MX
210 host for \fBexample.com\fR.
212 In the case of delivery via SMTP, one may specify
213 \fIhostname\fR:\fIservice\fR instead of just a host:
216      \fBexample.com      smtp:bar.example:2025\fR
219 This directs mail for \fIuser\fR@\fBexample.com\fR to host \fBbar.example\fR
220 port \fB2025\fR. Instead of a numerical port a symbolic name may be
221 used. Specify [] around the hostname if MX lookups must be disabled.
223 The error mailer can be used to bounce mail:
226      \fB\&.example.com     error:mail for *.example.com is not deliverable\fR
229 This causes all mail for \fIuser\fR@\fIanything\fB.example.com\fR
230 to be bounced.
231 .SH "REGULAR EXPRESSION TABLES"
236 This section describes how the table lookups change when the table
237 is given in the form of regular expressions. For a description of
238 regular expression lookup table syntax, see \fBregexp_table\fR(5)
239 or \fBpcre_table\fR(5).
241 Each pattern is a regular expression that is applied to the entire
242 address being looked up. Thus, \fIsome.domain.hierarchy\fR is not
243 looked up via its parent domains,
244 nor is \fIuser+foo@domain\fR looked up as \fIuser@domain\fR.
246 Patterns are applied in the order as specified in the table, until a
247 pattern is found that matches the search string.
249 The \fBtrivial-rewrite\fR(8) server disallows regular
250 expression substitution of $1 etc. in regular expression
251 lookup tables, because that could open a security hole
252 (Postfix version 2.3 and later).
253 .SH "TCP-BASED TABLES"
258 This section describes how the table lookups change when lookups
259 are directed to a TCP-based server. For a description of the TCP
260 client/server lookup protocol, see \fBtcp_table\fR(5).
261 This feature is not available up to and including Postfix version 2.4.
263 Each lookup operation uses the entire recipient address once.  Thus,
264 \fIsome.domain.hierarchy\fR is not looked up via its parent domains,
265 nor is \fIuser+foo@domain\fR looked up as \fIuser@domain\fR.
267 Results are the same as with indexed file lookups.
268 .SH "CONFIGURATION PARAMETERS"
273 The following \fBmain.cf\fR parameters are especially relevant.
274 The text below provides only a parameter summary. See
275 \fBpostconf\fR(5) for more details including examples.
276 .IP \fBempty_address_recipient\fR
277 The address that is looked up instead of the null sender address.
278 .IP \fBparent_domain_matches_subdomains\fR
279 List of Postfix features that use \fIdomain.tld\fR patterns
280 to match \fIsub.domain.tld\fR (as opposed to
281 requiring \fI.domain.tld\fR patterns).
282 .IP \fBtransport_maps\fR
283 List of transport lookup tables.
284 .SH "SEE ALSO"
287 trivial-rewrite(8), rewrite and resolve addresses
288 master(5), master.cf file format
289 postconf(5), configuration parameters
290 postmap(1), Postfix lookup table manager
291 .SH "README FILES"
296 Use "\fBpostconf readme_directory\fR" or
297 "\fBpostconf html_directory\fR" to locate this information.
300 ADDRESS_REWRITING_README, address rewriting guide
301 DATABASE_README, Postfix lookup table overview
302 FILTER_README, external content filter
303 .SH "LICENSE"
308 The Secure Mailer license must be distributed with this software.
309 .SH "AUTHOR(S)"
312 Wietse Venema
313 IBM T.J. Watson Research
314 P.O. Box 704
315 Yorktown Heights, NY 10598, USA