summaryrefslogtreecommitdiffstats
path: root/conf/virtual
blob: e99eee4881c1bddfc2ca01a9b2644bc5d903b9a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
# VIRTUAL(5)                                                          VIRTUAL(5)
# 
# NAME
#        virtual - Postfix virtual alias table format
# 
# SYNOPSIS
#        postmap /etc/postfix/virtual
# 
#        postmap -q "string" /etc/postfix/virtual
# 
#        postmap -q - /etc/postfix/virtual <inputfile
# 
# DESCRIPTION
#        The  optional  virtual(5)  alias  table rewrites recipient
#        addresses for all local, all virtual, and all remote  mail
#        destinations.   This  is unlike the aliases(5) table which
#        is used only for local(8) delivery. This feature is imple-
#        mented  in  the  Postfix  cleanup(8) daemon before mail is
#        queued.
# 
#        Virtual aliasing is recursive; to terminate recursion  for
#        a specific address, alias that address to itself.
# 
#        The main applications of virtual aliasing are:
# 
#        o      To  redirect  mail  for  one address to one or more
#               addresses.
# 
#        o      To  implement  virtual  alias  domains  where   all
#               addresses   are   aliased  to  addresses  in  other
#               domains.
# 
#               Virtual alias domains are not to be  confused  with
#               the  virtual  mailbox  domains that are implemented
#               with the Postfix virtual(8)  mail  delivery  agent.
#               With   virtual   mailbox  domains,  each  recipient
#               address can have its own mailbox.
# 
#        Virtual aliasing is applied  only  to  recipient  envelope
#        addresses,  and  does  not  affect  message  headers.  Use
#        canonical(5)  mapping  to  rewrite  header  and   envelope
#        addresses in general.
# 
#        Normally,  the  virtual(5)  alias  table is specified as a
#        text file that serves as input to the postmap(1)  command.
#        The  result,  an indexed file in dbm or db format, is used
#        for fast searching by the mail system. Execute the command
#        "postmap  /etc/postfix/virtual" to rebuild an indexed file
#        after changing the corresponding text file.
# 
#        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  regu-
#        lar-expression  map  where  patterns  are given as regular
#        expressions, or lookups can be  directed  to  a  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
#        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
#        The input format for the postmap(1) command is as follows:
# 
#        pattern address, address, ...
#               When  pattern matches a mail address, replace it by
#               the corresponding address.
# 
#        blank lines and comments
#               Empty lines and whitespace-only lines are  ignored,
#               as  are  lines whose first non-whitespace character
#               is a `#'.
# 
#        multi-line text
#               A logical line starts with non-whitespace  text.  A
#               line  that starts with whitespace continues a logi-
#               cal line.
# 
# TABLE SEARCH ORDER
#        With lookups from indexed files such as DB or DBM, or from
#        networked   tables   such   as  NIS,  LDAP  or  SQL,  each
#        user@domain query produces a sequence of query patterns as
#        described below.
# 
#        Each  query pattern is sent to each specified lookup table
#        before trying the next query pattern,  until  a  match  is
#        found.
# 
#        user@domain address, address, ...
#               Redirect  mail  for  user@domain  to address.  This
#               form has the highest precedence.
# 
#        user address, address, ...
#               Redirect mail for user@site to address when site is
#               equal  to $myorigin, when site is listed in $mydes-
#               tination, or when it is listed in  $inet_interfaces
#               or $proxy_interfaces.
# 
#               This  functionality overlaps with the functionality
#               of the local aliases(5) database. The difference is
#               that virtual(5) mapping can be applied to non-local
#               addresses.
# 
#        @domain address, address, ...
#               Redirect mail for other users in domain to address.
#               This form has the lowest precedence.
# 
#               Note:  @domain  is a wild-card. With this form, the
#               Postfix SMTP server accepts mail for any  recipient
#               in  domain,  regardless  of  whether that recipient
#               exists.  This may turn  your  mail  system  into  a
#               backscatter  source: Postfix first accepts mail for
#               non-existent recipients and then  tries  to  return
#               that  mail  as  "undeliverable" to the often forged
#               sender address.
# 
#               To avoid backscatter  with  mail  for  a  wild-card
#               domain, replace the wild-card mapping with explicit
#               1:1 mappings, or add a  reject_unverified_recipient
#               restriction for that domain:
# 
#                   smtpd_recipient_restrictions =
#                       ...
#                       reject_unauth_destination
#                       check_recipient_access
#                           inline:{example.com=reject_unverified_recipient}
#                   unverified_recipient_reject_code = 550
# 
#               In  the above example, Postfix may contact a remote
#               server if the recipient  is  aliased  to  a  remote
#               address.
# 
# RESULT ADDRESS REWRITING
#        The lookup result is subject to address rewriting:
# 
#        o      When  the  result  has  the  form @otherdomain, the
#               result becomes the same user in otherdomain.   This
#               works only for the first address in a multi-address
#               lookup result.
# 
#        o      When "append_at_myorigin=yes", append  "@$myorigin"
#               to addresses without "@domain".
# 
#        o      When "append_dot_mydomain=yes", append ".$mydomain"
#               to addresses without ".domain".
# 
# ADDRESS EXTENSION
#        When a mail address localpart contains the optional recip-
#        ient  delimiter  (e.g., user+foo@domain), the lookup order
#        becomes: user+foo@domain, user@domain, user+foo, user, and
#        @domain.
# 
#        The   propagate_unmatched_extensions   parameter  controls
#        whether an unmatched address extension  (+foo)  is  propa-
#        gated to the result of a table lookup.
# 
# VIRTUAL ALIAS DOMAINS
#        Besides  virtual aliases, the virtual alias table can also
#        be used to implement virtual alias domains. With a virtual
#        alias  domain,  all  recipient  addresses  are  aliased to
#        addresses in other domains.
# 
#        Virtual alias domains are not to be confused with the vir-
#        tual mailbox domains that are implemented with the Postfix
#        virtual(8)  mail  delivery  agent.  With  virtual  mailbox
#        domains,  each recipient address can have its own mailbox.
# 
#        With a virtual alias domain, the virtual  domain  has  its
#        own  user  name  space. Local (i.e. non-virtual) usernames
#        are not visible in a virtual alias domain. In  particular,
#        local  aliases(5)  and local mailing lists are not visible
#        as localname@virtual-alias.domain.
# 
#        Support for a virtual alias domain looks like:
# 
#        /etc/postfix/main.cf:
#            virtual_alias_maps = hash:/etc/postfix/virtual
# 
#        Note: some systems use dbm databases instead of hash.  See
#        the  output  from  "postconf  -m"  for  available database
#        types.
# 
#        /etc/postfix/virtual:
#            virtual-alias.domain    anything (right-hand content does not matter)
#            postmaster@virtual-alias.domain postmaster
#            user1@virtual-alias.domain      address1
#            user2@virtual-alias.domain      address2, address3
# 
#        The virtual-alias.domain anything entry is required for  a
#        virtual alias domain. Without this entry, mail is rejected
#        with "relay access denied", or bounces  with  "mail  loops
#        back to myself".
# 
#        Do  not  specify virtual alias domain names in the main.cf
#        mydestination or relay_domains configuration parameters.
# 
#        With a virtual  alias  domain,  the  Postfix  SMTP  server
#        accepts   mail  for  known-user@virtual-alias.domain,  and
#        rejects  mail  for  unknown-user@virtual-alias.domain   as
#        undeliverable.
# 
#        Instead  of  specifying  the virtual alias domain name via
#        the virtual_alias_maps table, you may also specify it  via
#        the main.cf virtual_alias_domains configuration parameter.
#        This latter parameter uses the same syntax as the  main.cf
#        mydestination configuration parameter.
# 
# REGULAR EXPRESSION TABLES
#        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 regexp_table(5) or pcre_table(5).
# 
#        Each pattern is a regular expression that  is  applied  to
#        the entire address being looked up. Thus, user@domain mail
#        addresses are not broken up into their  user  and  @domain
#        constituent parts, nor is user+foo broken up into user and
#        foo.
# 
#        Patterns are applied in the order as specified in the  ta-
#        ble,  until  a  pattern  is  found that matches the search
#        string.
# 
#        Results are the same as with indexed  file  lookups,  with
#        the  additional feature that parenthesized substrings from
#        the pattern can be interpolated as $1, $2 and so on.
# 
# TCP-BASED TABLES
#        This section describes how the table lookups  change  when
#        lookups are directed to a TCP-based server. For a descrip-
#        tion of the TCP client/server lookup protocol, see tcp_ta-
#        ble(5).   This  feature  is  available  in Postfix 2.5 and
#        later.
# 
#        Each lookup operation uses the entire address once.  Thus,
#        user@domain  mail  addresses  are not broken up into their
#        user and @domain constituent parts, nor is user+foo broken
#        up into user and foo.
# 
#        Results are the same as with indexed file lookups.
# 
# BUGS
#        The  table format does not understand quoting conventions.
# 
# CONFIGURATION PARAMETERS
#        The following main.cf parameters are  especially  relevant
#        to  this  topic.  See  the Postfix main.cf file for syntax
#        details and for default values. Use the  "postfix  reload"
#        command after a configuration change.
# 
#        virtual_alias_maps ($virtual_maps)
#               Optional  lookup  tables  that  alias specific mail
#               addresses or  domains  to  other  local  or  remote
#               addresses.
# 
#        virtual_alias_domains ($virtual_alias_maps)
#               Postfix  is the final destination for the specified
#               list of virtual alias domains, that is, domains for
#               which  all  addresses  are  aliased to addresses in
#               other local or remote domains.
# 
#        propagate_unmatched_extensions (canonical, virtual)
#               What address lookup tables copy an  address  exten-
#               sion from the lookup key to the lookup result.
# 
#        Other parameters of interest:
# 
#        inet_interfaces (all)
#               The network interface addresses that this mail sys-
#               tem receives mail on.
# 
#        mydestination  ($myhostname,  localhost.$mydomain,  local-
#        host)
#               The list of domains  that  are  delivered  via  the
#               $local_transport mail delivery transport.
# 
#        myorigin ($myhostname)
#               The domain name that locally-posted mail appears to
#               come from, and that locally posted mail  is  deliv-
#               ered to.
# 
#        owner_request_special (yes)
#               Enable special treatment for owner-listname entries
#               in the aliases(5) file, and don't split owner-list-
#               name  and  listname-request address localparts when
#               the recipient_delimiter is set to "-".
# 
#        proxy_interfaces (empty)
#               The network interface addresses that this mail sys-
#               tem  receives  mail on by way of a proxy or network
#               address translation unit.
# 
# SEE ALSO
#        cleanup(8), canonicalize and enqueue mail
#        postmap(1), Postfix lookup table manager
#        postconf(5), configuration parameters
#        canonical(5), canonical address mapping
# 
# README FILES
#        Use "postconf readme_directory" or  "postconf  html_direc-
#        tory" to locate this information.
#        ADDRESS_REWRITING_README, address rewriting guide
#        DATABASE_README, Postfix lookup table overview
#        VIRTUAL_README, domain hosting guide
# 
# LICENSE
#        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
# 
#                                                                     VIRTUAL(5)