aliases revision 1.1.1.6 1 1.1 tron #++
2 1.1 tron # NAME
3 1.1 tron # aliases 5
4 1.1 tron # SUMMARY
5 1.1 tron # Postfix local alias database format
6 1.1 tron # SYNOPSIS
7 1.1 tron # .fi
8 1.1 tron # \fBnewaliases\fR
9 1.1 tron # DESCRIPTION
10 1.1 tron # The \fBaliases\fR(5) table provides a system-wide mechanism to
11 1.1 tron # redirect mail for local recipients. The redirections are
12 1.1 tron # processed by the Postfix \fBlocal\fR(8) delivery agent.
13 1.1 tron #
14 1.1 tron # Normally, the \fBaliases\fR(5) table is specified as a text file
15 1.1 tron # that serves as input to the \fBpostalias\fR(1) command. The
16 1.1 tron # result, an indexed file in \fBdbm\fR or \fBdb\fR format, is
17 1.1 tron # used for fast lookup by the mail system. Execute the command
18 1.1 tron # \fBnewaliases\fR in order to rebuild the indexed file after
19 1.1 tron # changing the Postfix alias database.
20 1.1 tron #
21 1.1.1.2 tron # When the table is provided via other means such as NIS, LDAP
22 1.1.1.2 tron # or SQL, the same lookups are done as for ordinary indexed files.
23 1.1.1.2 tron #
24 1.1.1.2 tron # Alternatively, the table can be provided as a regular-expression
25 1.1.1.2 tron # map where patterns are given as regular expressions. In
26 1.1.1.2 tron # this case, the lookups are done in a slightly different way
27 1.1.1.2 tron # as described below under "REGULAR EXPRESSION TABLES".
28 1.1 tron #
29 1.1 tron # Users can control delivery of their own mail by setting
30 1.1 tron # up \fB.forward\fR files in their home directory.
31 1.1 tron # Lines in per-user \fB.forward\fR files have the same syntax
32 1.1 tron # as the right-hand side of \fBaliases\fR(5) entries.
33 1.1 tron #
34 1.1 tron # The format of the alias database input file is as follows:
35 1.1 tron # .IP \(bu
36 1.1 tron # An alias definition has the form
37 1.1 tron # .sp
38 1.1 tron # .nf
39 1.1 tron # \fIname\fR: \fIvalue1\fR, \fIvalue2\fR, \fI...\fR
40 1.1 tron # .fi
41 1.1 tron # .IP \(bu
42 1.1 tron # Empty lines and whitespace-only lines are ignored, as
43 1.1 tron # are lines whose first non-whitespace character is a `#'.
44 1.1 tron # .IP \(bu
45 1.1 tron # A logical line starts with non-whitespace text. A line that
46 1.1 tron # starts with whitespace continues a logical line.
47 1.1 tron # .PP
48 1.1 tron # The \fIname\fR is a local address (no domain part).
49 1.1 tron # Use double quotes when the name contains any special characters
50 1.1 tron # such as whitespace, `#', `:', or `@'. The \fIname\fR is folded to
51 1.1 tron # lowercase, in order to make database lookups case insensitive.
52 1.1 tron # .PP
53 1.1.1.4 christos # In addition, when an alias exists for \fBowner-\fIname\fR,
54 1.1.1.4 christos # this will override the envelope sender address, so that
55 1.1.1.4 christos # delivery diagnostics are directed to \fBowner-\fIname\fR,
56 1.1.1.4 christos # instead of the originator of the message (for details, see
57 1.1.1.4 christos # \fBowner_request_special\fR, \fBexpand_owner_alias\fR and
58 1.1.1.4 christos # \fBreset_owner_alias\fR).
59 1.1 tron # This is typically used to direct delivery errors to the maintainer of
60 1.1 tron # a mailing list, who is in a better position to deal with mailing
61 1.1 tron # list delivery problems than the originator of the undelivered mail.
62 1.1 tron # .PP
63 1.1 tron # The \fIvalue\fR contains one or more of the following:
64 1.1 tron # .IP \fIaddress\fR
65 1.1 tron # Mail is forwarded to \fIaddress\fR, which is compatible
66 1.1 tron # with the RFC 822 standard.
67 1.1 tron # .IP \fI/file/name\fR
68 1.1.1.6 christos # Mail is appended to \fI/file/name\fR. For details on how a
69 1.1.1.6 christos # file is written see the sections "EXTERNAL FILE DELIVERY"
70 1.1.1.6 christos # and "DELIVERY RIGHTS" in the \fBlocal\fR(8) documentation.
71 1.1 tron # Delivery is not limited to regular files. For example, to dispose
72 1.1 tron # of unwanted mail, deflect it to \fB/dev/null\fR.
73 1.1 tron # .IP "|\fIcommand\fR"
74 1.1.1.6 christos # Mail is piped into \fIcommand\fR. Commands that contain
75 1.1.1.6 christos # special characters, such as whitespace, should be enclosed
76 1.1.1.6 christos # between double quotes. For details on how a command is
77 1.1.1.6 christos # executed see "EXTERNAL COMMAND DELIVERY" and "DELIVERY
78 1.1.1.6 christos # RIGHTS" in the \fBlocal\fR(8) documentation.
79 1.1 tron # .sp
80 1.1 tron # When the command fails, a limited amount of command output is
81 1.1 tron # mailed back to the sender. The file \fB/usr/include/sysexits.h\fR
82 1.1 tron # defines the expected exit status codes. For example, use
83 1.1 tron # \fB"|exit 67"\fR to simulate a "user unknown" error, and
84 1.1 tron # \fB"|exit 0"\fR to implement an expensive black hole.
85 1.1 tron # .IP \fB:include:\fI/file/name\fR
86 1.1 tron # Mail is sent to the destinations listed in the named file.
87 1.1 tron # Lines in \fB:include:\fR files have the same syntax
88 1.1 tron # as the right-hand side of alias entries.
89 1.1 tron # .sp
90 1.1 tron # A destination can be any destination that is described in this
91 1.1 tron # manual page. However, delivery to "|\fIcommand\fR" and
92 1.1 tron # \fI/file/name\fR is disallowed by default. To enable, edit the
93 1.1 tron # \fBallow_mail_to_commands\fR and \fBallow_mail_to_files\fR
94 1.1 tron # configuration parameters.
95 1.1 tron # ADDRESS EXTENSION
96 1.1 tron # .ad
97 1.1 tron # .fi
98 1.1 tron # When alias database search fails, and the recipient localpart
99 1.1 tron # contains the optional recipient delimiter (e.g., \fIuser+foo\fR),
100 1.1 tron # the search is repeated for the unextended address (e.g., \fIuser\fR).
101 1.1 tron #
102 1.1 tron # The \fBpropagate_unmatched_extensions\fR parameter controls
103 1.1 tron # whether an unmatched address extension (\fI+foo\fR) is
104 1.1 tron # propagated to the result of table lookup.
105 1.1 tron # CASE FOLDING
106 1.1 tron # .ad
107 1.1 tron # .fi
108 1.1.1.2 tron # The local(8) delivery agent always folds the search string
109 1.1.1.2 tron # to lowercase before database lookup.
110 1.1.1.2 tron # REGULAR EXPRESSION TABLES
111 1.1.1.2 tron # .ad
112 1.1.1.2 tron # .fi
113 1.1.1.2 tron # This section describes how the table lookups change when the table
114 1.1.1.2 tron # is given in the form of regular expressions. For a description of
115 1.1.1.2 tron # regular expression lookup table syntax, see \fBregexp_table\fR(5)
116 1.1.1.2 tron # or \fBpcre_table\fR(5). NOTE: these formats do not use ":" at the
117 1.1.1.2 tron # end of a pattern.
118 1.1.1.2 tron #
119 1.1.1.2 tron # Each regular expression is applied to the entire search
120 1.1.1.2 tron # string. Thus, a search string \fIuser+foo\fR is not broken
121 1.1.1.2 tron # up into \fIuser\fR and \fIfoo\fR.
122 1.1.1.2 tron #
123 1.1.1.2 tron # Regular expressions are applied in the order as specified
124 1.1.1.2 tron # in the table, until a regular expression is found that
125 1.1.1.2 tron # matches the search string.
126 1.1.1.2 tron #
127 1.1.1.2 tron # Lookup results are the same as with indexed file lookups.
128 1.1.1.2 tron # For security reasons there is no support for \fB$1\fR,
129 1.1.1.2 tron # \fB$2\fR etc. substring interpolation.
130 1.1 tron # SECURITY
131 1.1 tron # .ad
132 1.1 tron # .fi
133 1.1 tron # The \fBlocal\fR(8) delivery agent disallows regular expression
134 1.1 tron # substitution of $1 etc. in \fBalias_maps\fR, because that
135 1.1 tron # would open a security hole.
136 1.1 tron #
137 1.1 tron # The \fBlocal\fR(8) delivery agent will silently ignore
138 1.1 tron # requests to use the \fBproxymap\fR(8) server within
139 1.1 tron # \fBalias_maps\fR. Instead it will open the table directly.
140 1.1 tron # Before Postfix version 2.2, the \fBlocal\fR(8) delivery
141 1.1 tron # agent will terminate with a fatal error.
142 1.1 tron # CONFIGURATION PARAMETERS
143 1.1 tron # .ad
144 1.1 tron # .fi
145 1.1 tron # The following \fBmain.cf\fR parameters are especially relevant.
146 1.1 tron # The text below provides only a parameter summary. See
147 1.1 tron # \fBpostconf\fR(5) for more details including examples.
148 1.1.1.4 christos # .IP "\fBalias_database (see 'postconf -d' output)\fR"
149 1.1.1.4 christos # The alias databases for \fBlocal\fR(8) delivery that are updated with
150 1.1.1.4 christos # "\fBnewaliases\fR" or with "\fBsendmail -bi\fR".
151 1.1.1.4 christos # .IP "\fBalias_maps (see 'postconf -d' output)\fR"
152 1.1.1.4 christos # The alias databases that are used for \fBlocal\fR(8) delivery.
153 1.1.1.4 christos # .IP "\fBallow_mail_to_commands (alias, forward)\fR"
154 1.1.1.4 christos # Restrict \fBlocal\fR(8) mail delivery to external commands.
155 1.1.1.4 christos # .IP "\fBallow_mail_to_files (alias, forward)\fR"
156 1.1.1.4 christos # Restrict \fBlocal\fR(8) mail delivery to external files.
157 1.1.1.4 christos # .IP "\fBexpand_owner_alias (no)\fR"
158 1.1.1.4 christos # When delivering to an alias "\fIaliasname\fR" that has an
159 1.1.1.4 christos # "owner-\fIaliasname\fR" companion alias, set the envelope sender
160 1.1.1.4 christos # address to the expansion of the "owner-\fIaliasname\fR" alias.
161 1.1.1.4 christos # .IP "\fBpropagate_unmatched_extensions (canonical, virtual)\fR"
162 1.1.1.4 christos # What address lookup tables copy an address extension from the lookup
163 1.1.1.4 christos # key to the lookup result.
164 1.1.1.4 christos # .IP "\fBowner_request_special (yes)\fR"
165 1.1.1.4 christos # Enable special treatment for owner-\fIlistname\fR entries in the
166 1.1.1.4 christos # \fBaliases\fR(5) file, and don't split owner-\fIlistname\fR and
167 1.1.1.4 christos # \fIlistname\fR-request address localparts when the recipient_delimiter
168 1.1.1.4 christos # is set to "-".
169 1.1.1.4 christos # .IP "\fBrecipient_delimiter (empty)\fR"
170 1.1.1.5 christos # The set of characters that can separate an email address
171 1.1.1.5 christos # localpart, user name, or a .forward file name from its extension.
172 1.1 tron # .PP
173 1.1 tron # Available in Postfix version 2.3 and later:
174 1.1.1.4 christos # .IP "\fBfrozen_delivered_to (yes)\fR"
175 1.1.1.4 christos # Update the \fBlocal\fR(8) delivery agent's idea of the Delivered-To:
176 1.1.1.4 christos # address (see prepend_delivered_header) only once, at the start of
177 1.1.1.4 christos # a delivery attempt; do not update the Delivered-To: address while
178 1.1 tron # expanding aliases or .forward files.
179 1.1 tron # STANDARDS
180 1.1 tron # RFC 822 (ARPA Internet Text Messages)
181 1.1 tron # SEE ALSO
182 1.1 tron # local(8), local delivery agent
183 1.1 tron # newaliases(1), create/update alias database
184 1.1 tron # postalias(1), create/update alias database
185 1.1 tron # postconf(5), configuration parameters
186 1.1 tron # README FILES
187 1.1 tron # .ad
188 1.1 tron # .fi
189 1.1 tron # Use "\fBpostconf readme_directory\fR" or
190 1.1 tron # "\fBpostconf html_directory\fR" to locate this information.
191 1.1 tron # .na
192 1.1 tron # .nf
193 1.1 tron # DATABASE_README, Postfix lookup table overview
194 1.1 tron # LICENSE
195 1.1 tron # .ad
196 1.1 tron # .fi
197 1.1 tron # The Secure Mailer license must be distributed with this software.
198 1.1 tron # AUTHOR(S)
199 1.1 tron # Wietse Venema
200 1.1 tron # IBM T.J. Watson Research
201 1.1 tron # P.O. Box 704
202 1.1 tron # Yorktown Heights, NY 10598, USA
203 1.1.1.3 christos #
204 1.1.1.3 christos # Wietse Venema
205 1.1.1.3 christos # Google, Inc.
206 1.1.1.3 christos # 111 8th Avenue
207 1.1.1.3 christos # New York, NY 10011, USA
208 1.1 tron #--
209