]> git.ipfire.org Git - ipfire-2.x.git/blob - config/postfix/transport
2df6aed47709adf682b33177208efd4cce0851b2
[ipfire-2.x.git] / config / postfix / transport
1 # TRANSPORT(5) TRANSPORT(5)
2 #
3 # NAME
4 # transport - Postfix transport table format
5 #
6 # SYNOPSIS
7 # postmap /etc/postfix/transport
8 #
9 # postmap -q "string" /etc/postfix/transport
10 #
11 # postmap -q - /etc/postfix/transport <inputfile
12 #
13 # DESCRIPTION
14 # The optional transport(5) table specifies a mapping from
15 # email addresses to message delivery transports and/or
16 # relay hosts. The mapping is used by the trivial-rewrite(8)
17 # daemon.
18 #
19 # This mapping overrides the default routing that is built
20 # into Postfix:
21 #
22 # mydestination
23 # A list of domains that is by default delivered via
24 # $local_transport. This also includes domains that
25 # match $inet_interfaces or $proxy_interfaces.
26 #
27 # virtual_mailbox_domains
28 # A list of domains that is by default delivered via
29 # $virtual_transport.
30 #
31 # relay_domains
32 # A list of domains that is by default delivered via
33 # $relay_transport.
34 #
35 # any other destination
36 # Mail for any other destination is by default deliv-
37 # ered via $default_transport.
38 #
39 # Normally, the transport(5) table is specified as a text
40 # file that serves as input to the postmap(1) command. The
41 # result, an indexed file in dbm or db format, is used for
42 # fast searching by the mail system. Execute the command
43 # "postmap /etc/postfix/transport" in order to rebuild the
44 # indexed file after changing the transport table.
45 #
46 # When the table is provided via other means such as NIS,
47 # LDAP or SQL, the same lookups are done as for ordinary
48 # indexed files.
49 #
50 # Alternatively, the table can be provided as a regular-
51 # expression map where patterns are given as regular expres-
52 # sions, or lookups can be directed to TCP-based server. In
53 # that case, the lookups are done in a slightly different
54 # way as described below under "REGULAR EXPRESSION TABLES"
55 # and "TCP-BASED TABLES".
56 #
57 # TABLE FORMAT
58 # The input format for the postmap(1) command is as follows:
59 #
60 # pattern result
61 # When pattern matches the recipient address or
62 # domain, use the corresponding result.
63 #
64 # blank lines and comments
65 # Empty lines and whitespace-only lines are ignored,
66 # as are lines whose first non-whitespace character
67 # is a `#'.
68 #
69 # multi-line text
70 # A logical line starts with non-whitespace text. A
71 # line that starts with whitespace continues a logi-
72 # cal line.
73 #
74 # The pattern specifies an email address, a domain name, or
75 # a domain name hierarchy, as described in section "TABLE
76 # LOOKUP".
77 #
78 # The result is of the form transport:nexthop and specifies
79 # how or where to deliver mail. This is described in section
80 # "RESULT FORMAT".
81 #
82 # TABLE SEARCH ORDER
83 # With lookups from indexed files such as DB or DBM, or from
84 # networked tables such as NIS, LDAP or SQL, patterns are
85 # tried in the order as listed below:
86 #
87 # user+extension@domain transport:nexthop
88 # Deliver mail for user+extension@domain through
89 # transport to nexthop.
90 #
91 # user@domain transport:nexthop
92 # Deliver mail for user@domain through transport to
93 # nexthop.
94 #
95 # domain transport:nexthop
96 # Deliver mail for domain through transport to nex-
97 # thop.
98 #
99 # .domain transport:nexthop
100 # Deliver mail for any subdomain of domain through
101 # transport to nexthop. This applies only when the
102 # string transport_maps is not listed in the par-
103 # ent_domain_matches_subdomains configuration set-
104 # ting. Otherwise, a domain name matches itself and
105 # its subdomains.
106 #
107 # Note 1: the special pattern * represents any address (i.e.
108 # it functions as the wild-card pattern).
109 #
110 # Note 2: the null recipient address is looked up as
111 # $empty_address_recipient@$myhostname (default: mailer-dae-
112 # mon@hostname).
113 #
114 # Note 3: user@domain or user+extension@domain lookup is
115 # available in Postfix 2.0 and later.
116 #
117 # RESULT FORMAT
118 # The lookup result is of the form transport:nexthop. The
119 # transport field specifies a mail delivery transport such
120 # as smtp or local. The nexthop field specifies where and
121 # how to deliver mail.
122 #
123 # The transport field specifies the name of a mail delivery
124 # transport (the first name of a mail delivery service entry
125 # in the Postfix master.cf file).
126 #
127 # The interpretation of the nexthop field is transport
128 # dependent. In the case of SMTP, specify a service on a
129 # non-default port as host:service, and disable MX (mail
130 # exchanger) DNS lookups with [host] or [host]:port. The []
131 # form is required when you specify an IP address instead of
132 # a hostname.
133 #
134 # A null transport and null nexthop result means "do not
135 # change": use the delivery transport and nexthop informa-
136 # tion that would be used when the entire transport table
137 # did not exist.
138 #
139 # A non-null transport field with a null nexthop field
140 # resets the nexthop information to the recipient domain.
141 #
142 # A null transport field with non-null nexthop field does
143 # not modify the transport information.
144 #
145 # EXAMPLES
146 # In order to deliver internal mail directly, while using a
147 # mail relay for all other mail, specify a null entry for
148 # internal destinations (do not change the delivery trans-
149 # port or the nexthop information) and specify a wildcard
150 # for all other destinations.
151 #
152 # my.domain :
153 # .my.domain :
154 # * smtp:outbound-relay.my.domain
155 #
156 # In order to send mail for example.com and its subdomains
157 # via the uucp transport to the UUCP host named example:
158 #
159 # example.com uucp:example
160 # .example.com uucp:example
161 #
162 # When no nexthop host name is specified, the destination
163 # domain name is used instead. For example, the following
164 # directs mail for user@example.com via the slow transport
165 # to a mail exchanger for example.com. The slow transport
166 # could be configured to run at most one delivery process at
167 # a time:
168 #
169 # example.com slow:
170 #
171 # When no transport is specified, Postfix uses the transport
172 # that matches the address domain class (see DESCRIPTION
173 # above). The following sends all mail for example.com and
174 # its subdomains to host gateway.example.com:
175 #
176 # example.com :[gateway.example.com]
177 # .example.com :[gateway.example.com]
178 #
179 # In the above example, the [] suppress MX lookups. This
180 # prevents mail routing loops when your machine is primary
181 # MX host for example.com.
182 #
183 # In the case of delivery via SMTP, one may specify host-
184 # name:service instead of just a host:
185 #
186 # example.com smtp:bar.example:2025
187 #
188 # This directs mail for user@example.com to host bar.example
189 # port 2025. Instead of a numerical port a symbolic name may
190 # be used. Specify [] around the hostname if MX lookups must
191 # be disabled.
192 #
193 # The error mailer can be used to bounce mail:
194 #
195 # .example.com error:mail for *.example.com is not
196 # deliverable
197 #
198 # This causes all mail for user@anything.example.com to be
199 # bounced.
200 #
201 # REGULAR EXPRESSION TABLES
202 # This section describes how the table lookups change when
203 # the table is given in the form of regular expressions. For
204 # a description of regular expression lookup table syntax,
205 # see regexp_table(5) or pcre_table(5).
206 #
207 # Each pattern is a regular expression that is applied to
208 # the entire address being looked up. Thus,
209 # some.domain.hierarchy is not looked up via its parent
210 # domains, nor is user+foo@domain looked up as user@domain.
211 #
212 # Patterns are applied in the order as specified in the
213 # table, until a pattern is found that matches the search
214 # string.
215 #
216 # Results are the same as with indexed file lookups, with
217 # the additional feature that parenthesized substrings from
218 # the pattern can be interpolated as $1, $2 and so on.
219 #
220 # TCP-BASED TABLES
221 # This section describes how the table lookups change when
222 # lookups are directed to a TCP-based server. For a descrip-
223 # tion of the TCP client/server lookup protocol, see
224 # tcp_table(5). This feature is not available up to and
225 # including Postfix version 2.2.
226 #
227 # Each lookup operation uses the entire recipient address
228 # once. Thus, some.domain.hierarchy is not looked up via
229 # its parent domains, nor is user+foo@domain looked up as
230 # user@domain.
231 #
232 # Results are the same as with indexed file lookups.
233 #
234 # CONFIGURATION PARAMETERS
235 # The following main.cf parameters are especially relevant.
236 # The text below provides only a parameter summary. See
237 # postconf(5) for more details including examples.
238 #
239 # empty_address_recipient
240 # The address that is looked up instead of the null
241 # sender address.
242 #
243 # parent_domain_matches_subdomains
244 # List of Postfix features that use domain.tld pat-
245 # terns to match sub.domain.tld (as opposed to
246 # requiring .domain.tld patterns).
247 #
248 # transport_maps
249 # List of transport lookup tables.
250 #
251 # SEE ALSO
252 # trivial-rewrite(8), rewrite and resolve addresses
253 # postconf(5), configuration parameters
254 # postmap(1), Postfix lookup table manager
255 #
256 # README FILES
257 # Use "postconf readme_directory" or "postconf html_direc-
258 # tory" to locate this information.
259 # DATABASE_README, Postfix lookup table overview
260 # FILTER_README, external content filter
261 #
262 # LICENSE
263 # The Secure Mailer license must be distributed with this
264 # software.
265 #
266 # AUTHOR(S)
267 # Wietse Venema
268 # IBM T.J. Watson Research
269 # P.O. Box 704
270 # Yorktown Heights, NY 10598, USA
271 #
272 # TRANSPORT(5)