aliases revision 1.1.1.6 1 1.1 tron #
2 1.1 tron # Sample aliases file. Install in the location as specified by the
3 1.1 tron # output from the command "postconf alias_maps". Typical path names
4 1.1 tron # are /etc/aliases or /etc/mail/aliases.
5 1.1 tron #
6 1.1 tron # >>>>>>>>>> The program "newaliases" must be run after
7 1.1 tron # >> NOTE >> this file is updated for any changes to
8 1.1 tron # >>>>>>>>>> show through to Postfix.
9 1.1 tron #
10 1.1 tron
11 1.1 tron # Person who should get root's mail. Don't receive mail as root!
12 1.1 tron #root: you
13 1.1 tron
14 1.1 tron # Basic system aliases -- these MUST be present
15 1.1 tron MAILER-DAEMON: postmaster
16 1.1 tron postmaster: root
17 1.1 tron
18 1.1 tron # General redirections for pseudo accounts
19 1.1 tron bin: root
20 1.1 tron daemon: root
21 1.1 tron named: root
22 1.1 tron nobody: root
23 1.1 tron uucp: root
24 1.1 tron www: root
25 1.1 tron ftp-bugs: root
26 1.1 tron postfix: root
27 1.1 tron
28 1.1 tron # Put your local aliases here.
29 1.1 tron
30 1.1 tron # Well-known aliases
31 1.1 tron manager: root
32 1.1 tron dumper: root
33 1.1 tron operator: root
34 1.1 tron abuse: postmaster
35 1.1 tron
36 1.1 tron # trap decode to catch security attacks
37 1.1 tron decode: root
38 1.1 tron
39 1.1 tron # ALIASES(5) ALIASES(5)
40 1.1 tron #
41 1.1 tron # NAME
42 1.1 tron # aliases - Postfix local alias database format
43 1.1 tron #
44 1.1 tron # SYNOPSIS
45 1.1 tron # newaliases
46 1.1 tron #
47 1.1.1.6 christos # postalias -q name [file-type]:[file-name]
48 1.1.1.6 christos #
49 1.1 tron # DESCRIPTION
50 1.1.1.6 christos # The optional aliases(5) table (alias_maps) redirects mail
51 1.1.1.6 christos # for local recipients. The redirections are processed by
52 1.1.1.6 christos # the Postfix local(8) delivery agent. This table is always
53 1.1.1.6 christos # searched with an email address localpart (no domain por-
54 1.1.1.6 christos # tion).
55 1.1.1.6 christos #
56 1.1.1.6 christos # This is unlike virtual(5) aliasing (virtual_alias_maps)
57 1.1.1.6 christos # which applies to all recipients: local(8), virtual, and
58 1.1.1.6 christos # remote, and which is implemented by the cleanup(8) daemon.
59 1.1.1.6 christos # That table is often searched with a full email address
60 1.1.1.6 christos # (including domain).
61 1.1 tron #
62 1.1 tron # Normally, the aliases(5) table is specified as a text file
63 1.1 tron # that serves as input to the postalias(1) command. The
64 1.1 tron # result, an indexed file in dbm or db format, is used for
65 1.1 tron # fast lookup by the mail system. Execute the command
66 1.1 tron # newaliases in order to rebuild the indexed file after
67 1.1 tron # changing the Postfix alias database.
68 1.1 tron #
69 1.1.1.2 tron # When the table is provided via other means such as NIS,
70 1.1.1.2 tron # LDAP or SQL, the same lookups are done as for ordinary
71 1.1.1.2 tron # indexed files.
72 1.1.1.2 tron #
73 1.1.1.3 christos # Alternatively, the table can be provided as a regu-
74 1.1.1.3 christos # lar-expression map where patterns are given as regular
75 1.1.1.3 christos # expressions. In this case, the lookups are done in a
76 1.1.1.3 christos # slightly different way as described below under "REGULAR
77 1.1.1.3 christos # EXPRESSION TABLES".
78 1.1 tron #
79 1.1 tron # Users can control delivery of their own mail by setting up
80 1.1 tron # .forward files in their home directory. Lines in per-user
81 1.1 tron # .forward files have the same syntax as the right-hand side
82 1.1 tron # of aliases(5) entries.
83 1.1 tron #
84 1.1 tron # The format of the alias database input file is as follows:
85 1.1 tron #
86 1.1 tron # o An alias definition has the form
87 1.1 tron #
88 1.1 tron # name: value1, value2, ...
89 1.1 tron #
90 1.1 tron # o Empty lines and whitespace-only lines are ignored,
91 1.1 tron # as are lines whose first non-whitespace character
92 1.1 tron # is a `#'.
93 1.1 tron #
94 1.1 tron # o A logical line starts with non-whitespace text. A
95 1.1 tron # line that starts with whitespace continues a logi-
96 1.1 tron # cal line.
97 1.1 tron #
98 1.1 tron # The name is a local address (no domain part). Use double
99 1.1 tron # quotes when the name contains any special characters such
100 1.1 tron # as whitespace, `#', `:', or `@'. The name is folded to
101 1.1 tron # lowercase, in order to make database lookups case insensi-
102 1.1 tron # tive.
103 1.1 tron #
104 1.1.1.4 christos # In addition, when an alias exists for owner-name, this
105 1.1.1.4 christos # will override the envelope sender address, so that deliv-
106 1.1.1.4 christos # ery diagnostics are directed to owner-name, instead of the
107 1.1.1.4 christos # originator of the message (for details, see
108 1.1.1.4 christos # owner_request_special, expand_owner_alias and
109 1.1.1.4 christos # reset_owner_alias). This is typically used to direct
110 1.1.1.4 christos # delivery errors to the maintainer of a mailing list, who
111 1.1.1.4 christos # is in a better position to deal with mailing list delivery
112 1.1.1.4 christos # problems than the originator of the undelivered mail.
113 1.1 tron #
114 1.1 tron # The value contains one or more of the following:
115 1.1 tron #
116 1.1 tron # address
117 1.1 tron # Mail is forwarded to address, which is compatible
118 1.1 tron # with the RFC 822 standard.
119 1.1 tron #
120 1.1 tron # /file/name
121 1.1.1.5 christos # Mail is appended to /file/name. For details on how
122 1.1.1.5 christos # a file is written see the sections "EXTERNAL FILE
123 1.1.1.5 christos # DELIVERY" and "DELIVERY RIGHTS" in the local(8)
124 1.1.1.5 christos # documentation. Delivery is not limited to regular
125 1.1.1.5 christos # files. For example, to dispose of unwanted mail,
126 1.1.1.5 christos # deflect it to /dev/null.
127 1.1 tron #
128 1.1 tron # |command
129 1.1 tron # Mail is piped into command. Commands that contain
130 1.1 tron # special characters, such as whitespace, should be
131 1.1.1.5 christos # enclosed between double quotes. For details on how
132 1.1.1.5 christos # a command is executed see "EXTERNAL COMMAND DELIV-
133 1.1.1.5 christos # ERY" and "DELIVERY RIGHTS" in the local(8) documen-
134 1.1.1.5 christos # tation.
135 1.1 tron #
136 1.1 tron # When the command fails, a limited amount of command
137 1.1 tron # output is mailed back to the sender. The file
138 1.1 tron # /usr/include/sysexits.h defines the expected exit
139 1.1 tron # status codes. For example, use "|exit 67" to simu-
140 1.1 tron # late a "user unknown" error, and "|exit 0" to
141 1.1 tron # implement an expensive black hole.
142 1.1 tron #
143 1.1 tron # :include:/file/name
144 1.1 tron # Mail is sent to the destinations listed in the
145 1.1 tron # named file. Lines in :include: files have the same
146 1.1.1.6 christos # syntax as the right-hand side of aliases(5)
147 1.1.1.6 christos # entries.
148 1.1 tron #
149 1.1 tron # A destination can be any destination that is
150 1.1 tron # described in this manual page. However, delivery to
151 1.1 tron # "|command" and /file/name is disallowed by default.
152 1.1 tron # To enable, edit the allow_mail_to_commands and
153 1.1 tron # allow_mail_to_files configuration parameters.
154 1.1 tron #
155 1.1 tron # ADDRESS EXTENSION
156 1.1 tron # When alias database search fails, and the recipient local-
157 1.1.1.6 christos # part contains the optional recipient delimiter (e.g.,
158 1.1.1.6 christos # user+foo), the search is repeated for the unextended
159 1.1 tron # address (e.g., user).
160 1.1 tron #
161 1.1.1.6 christos # The propagate_unmatched_extensions parameter controls
162 1.1.1.6 christos # whether an unmatched address extension (+foo) is propa-
163 1.1 tron # gated to the result of table lookup.
164 1.1 tron #
165 1.1 tron # CASE FOLDING
166 1.1 tron # The local(8) delivery agent always folds the search string
167 1.1 tron # to lowercase before database lookup.
168 1.1 tron #
169 1.1.1.2 tron # REGULAR EXPRESSION TABLES
170 1.1.1.6 christos # This section describes how the table lookups change when
171 1.1.1.2 tron # the table is given in the form of regular expressions. For
172 1.1.1.6 christos # a description of regular expression lookup table syntax,
173 1.1.1.6 christos # see regexp_table(5) or pcre_table(5). NOTE: these formats
174 1.1.1.2 tron # do not use ":" at the end of a pattern.
175 1.1.1.2 tron #
176 1.1.1.6 christos # Each regular expression is applied to the entire search
177 1.1.1.6 christos # string. Thus, a search string user+foo is not broken up
178 1.1.1.2 tron # into user and foo.
179 1.1.1.2 tron #
180 1.1.1.6 christos # Regular expressions are applied in the order as specified
181 1.1.1.6 christos # in the table, until a regular expression is found that
182 1.1.1.2 tron # matches the search string.
183 1.1.1.2 tron #
184 1.1.1.6 christos # Lookup results are the same as with indexed file lookups.
185 1.1.1.6 christos # For security reasons there is no support for $1, $2 etc.
186 1.1.1.2 tron # substring interpolation.
187 1.1.1.2 tron #
188 1.1 tron # SECURITY
189 1.1.1.6 christos # The local(8) delivery agent disallows regular expression
190 1.1.1.6 christos # substitution of $1 etc. in alias_maps, because that would
191 1.1 tron # open a security hole.
192 1.1 tron #
193 1.1.1.6 christos # The local(8) delivery agent will silently ignore requests
194 1.1.1.6 christos # to use the proxymap(8) server within alias_maps. Instead
195 1.1.1.6 christos # it will open the table directly. Before Postfix version
196 1.1.1.6 christos # 2.2, the local(8) delivery agent will terminate with a
197 1.1 tron # fatal error.
198 1.1 tron #
199 1.1 tron # CONFIGURATION PARAMETERS
200 1.1.1.6 christos # The following main.cf parameters are especially relevant.
201 1.1.1.6 christos # The text below provides only a parameter summary. See
202 1.1 tron # postconf(5) for more details including examples.
203 1.1 tron #
204 1.1.1.4 christos # alias_database (see 'postconf -d' output)
205 1.1.1.6 christos # The alias databases for local(8) delivery that are
206 1.1.1.4 christos # updated with "newaliases" or with "sendmail -bi".
207 1.1.1.4 christos #
208 1.1.1.4 christos # alias_maps (see 'postconf -d' output)
209 1.1.1.6 christos # Optional lookup tables that are searched only with
210 1.1.1.6 christos # an email address localpart (no domain) and that
211 1.1.1.6 christos # apply only to local(8) recipients; this is unlike
212 1.1.1.6 christos # virtual_alias_maps that are often searched with a
213 1.1.1.6 christos # full email address (including domain) and that
214 1.1.1.6 christos # apply to all recipients: local(8), virtual, and
215 1.1.1.6 christos # remote.
216 1.1.1.4 christos #
217 1.1.1.4 christos # allow_mail_to_commands (alias, forward)
218 1.1.1.4 christos # Restrict local(8) mail delivery to external com-
219 1.1.1.4 christos # mands.
220 1.1.1.4 christos #
221 1.1.1.4 christos # allow_mail_to_files (alias, forward)
222 1.1.1.4 christos # Restrict local(8) mail delivery to external files.
223 1.1.1.4 christos #
224 1.1.1.4 christos # expand_owner_alias (no)
225 1.1.1.4 christos # When delivering to an alias "aliasname" that has an
226 1.1.1.4 christos # "owner-aliasname" companion alias, set the envelope
227 1.1.1.4 christos # sender address to the expansion of the
228 1.1.1.4 christos # "owner-aliasname" alias.
229 1.1.1.4 christos #
230 1.1.1.4 christos # propagate_unmatched_extensions (canonical, virtual)
231 1.1.1.4 christos # What address lookup tables copy an address exten-
232 1.1.1.4 christos # sion from the lookup key to the lookup result.
233 1.1.1.4 christos #
234 1.1.1.4 christos # owner_request_special (yes)
235 1.1.1.4 christos # Enable special treatment for owner-listname entries
236 1.1.1.4 christos # in the aliases(5) file, and don't split owner-list-
237 1.1.1.4 christos # name and listname-request address localparts when
238 1.1.1.4 christos # the recipient_delimiter is set to "-".
239 1.1.1.4 christos #
240 1.1.1.4 christos # recipient_delimiter (empty)
241 1.1.1.5 christos # The set of characters that can separate an email
242 1.1.1.5 christos # address localpart, user name, or a .forward file
243 1.1.1.5 christos # name from its extension.
244 1.1 tron #
245 1.1 tron # Available in Postfix version 2.3 and later:
246 1.1 tron #
247 1.1.1.4 christos # frozen_delivered_to (yes)
248 1.1.1.5 christos # Update the local(8) delivery agent's idea of the
249 1.1.1.5 christos # Delivered-To: address (see prepend_deliv-
250 1.1.1.5 christos # ered_header) only once, at the start of a delivery
251 1.1.1.5 christos # attempt; do not update the Delivered-To: address
252 1.1.1.4 christos # while expanding aliases or .forward files.
253 1.1 tron #
254 1.1 tron # STANDARDS
255 1.1 tron # RFC 822 (ARPA Internet Text Messages)
256 1.1 tron #
257 1.1 tron # SEE ALSO
258 1.1 tron # local(8), local delivery agent
259 1.1 tron # newaliases(1), create/update alias database
260 1.1 tron # postalias(1), create/update alias database
261 1.1 tron # postconf(5), configuration parameters
262 1.1 tron #
263 1.1 tron # README FILES
264 1.1.1.5 christos # Use "postconf readme_directory" or "postconf html_direc-
265 1.1 tron # tory" to locate this information.
266 1.1 tron # DATABASE_README, Postfix lookup table overview
267 1.1 tron #
268 1.1 tron # LICENSE
269 1.1.1.5 christos # The Secure Mailer license must be distributed with this
270 1.1 tron # software.
271 1.1 tron #
272 1.1 tron # AUTHOR(S)
273 1.1 tron # Wietse Venema
274 1.1 tron # IBM T.J. Watson Research
275 1.1 tron # P.O. Box 704
276 1.1 tron # Yorktown Heights, NY 10598, USA
277 1.1 tron #
278 1.1.1.3 christos # Wietse Venema
279 1.1.1.3 christos # Google, Inc.
280 1.1.1.3 christos # 111 8th Avenue
281 1.1.1.3 christos # New York, NY 10011, USA
282 1.1.1.3 christos #
283 1.1 tron # ALIASES(5)
284