NAME
aliases - Postfix local alias database format
SYNOPSIS
newaliases
DESCRIPTION
The
aliases(5) table provides a system-wide mechanism to redirect mail
for local recipients. The redirections are processed by the Postfix
local(8) delivery agent.
Normally, the
aliases(5) table is specified as a text file that serves as
input to the
postalias(1) command. The result, an indexed file in
dbm or
db format, is used for fast lookup by the mail system.
Execute the command
newaliases in order to rebuild the indexed file
after changing the Postfix alias database.
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 regular-expression map where
patterns are given as regular expressions. In this case, the lookups are done
in a slightly different way as described below under "REGULAR EXPRESSION
TABLES".
Users can control delivery of their own mail by setting up
.forward files
in their home directory. Lines in per-user
.forward files have the same
syntax as the right-hand side of
aliases(5) entries.
The format of the alias database input file is as follows:
- •
- An alias definition has the form
name: value1, value2, ...
- •
- Empty lines and whitespace-only lines are ignored, as are
lines whose first non-whitespace character is a `#'.
- •
- A logical line starts with non-whitespace text. A line that
starts with whitespace continues a logical line.
The
name is a local address (no domain part). Use double quotes when the
name contains any special characters such as whitespace, `#', `:', or `@'. The
name is folded to lowercase, in order to make database lookups case
insensitive.
In addition, when an alias exists for
owner-name, delivery
diagnostics are directed to that address, instead of to the originator of the
message. This is typically used to direct delivery errors to the maintainer of
a mailing list, who is in a better position to deal with mailing list delivery
problems than the originator of the undelivered mail.
The
value contains one or more of the following:
- address
- Mail is forwarded to address, which is compatible
with the RFC 822 standard.
- /file/name
- Mail is appended to /file/name. See local(8)
for details of delivery to file. Delivery is not limited to regular files.
For example, to dispose of unwanted mail, deflect it to
/dev/null.
- |command
- Mail is piped into command. Commands that contain
special characters, such as whitespace, should be enclosed between double
quotes. See local(8) for details of delivery to command.
When the command fails, a limited amount of command output is mailed back to
the sender. The file /usr/include/sysexits.h defines the expected
exit status codes. For example, use "|exit 67" to
simulate a "user unknown" error, and "|exit 0"
to implement an expensive black hole.
- :include:/file/name
- Mail is sent to the destinations listed in the named file.
Lines in :include: files have the same syntax as the right-hand
side of alias entries.
A destination can be any destination that is described in this manual page.
However, delivery to "| command" and /file/name is
disallowed by default. To enable, edit the allow_mail_to_commands
and allow_mail_to_files configuration parameters.
ADDRESS EXTENSION
When alias database search fails, and the recipient localpart contains the
optional recipient delimiter (e.g.,
user+foo), the search is repeated
for the unextended address (e.g.,
user).
The
propagate_unmatched_extensions parameter controls whether an
unmatched address extension (
+foo) is propagated to the result of
table lookup.
CASE FOLDING
The local(8) delivery agent always folds the search string to lowercase before
database lookup.
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). NOTE:
these formats do not use ":" at the end of a pattern.
Each regular expression is applied to the entire search string. Thus, a search
string
user+foo is not broken up into
user and
foo.
Regular expressions are applied in the order as specified in the table, until a
regular expression is found that matches the search string.
Lookup results are the same as with indexed file lookups. For security reasons
there is no support for
$1,
$2 etc. substring interpolation.
SECURITY
The
local(8) delivery agent disallows regular expression substitution of
$1 etc. in
alias_maps, because that would open a security hole.
The
local(8) delivery agent will silently ignore requests to use the
proxymap(8) server within
alias_maps. Instead it will open the
table directly. Before Postfix version 2.2, the
local(8) delivery agent
will terminate with a fatal error.
CONFIGURATION PARAMETERS
The following
main.cf parameters are especially relevant. The text below
provides only a parameter summary. See
postconf(5) for more details
including examples.
- alias_database
- List of alias databases that are updated by the
newaliases(1) command.
- alias_maps
- List of alias databases queried by the local(8)
delivery agent.
- allow_mail_to_commands
- Restrict the usage of mail delivery to external
command.
- allow_mail_to_files
- Restrict the usage of mail delivery to external file.
- expand_owner_alias
- When delivering to an alias that has an owner-
companion alias, set the envelope sender address to the right-hand side of
the owner alias, instead using of the left-hand side address.
- propagate_unmatched_extensions
- A list of address rewriting or forwarding mechanisms that
propagate an address extension from the original address to the result.
Specify zero or more of canonical, virtual, alias,
forward, include, or generic.
- owner_request_special
- Give special treatment to owner-listname and
listname-request addresses.
- recipient_delimiter
- Delimiter that separates recipients from address
extensions.
Available in Postfix version 2.3 and later:
- frozen_delivered_to
- Update the local(8) delivery agent's Delivered-To: address
(see prepend_delivered_header) only once, at the start of a delivery; do
not update the Delivered-To: address while expanding aliases or .forward
files.
STANDARDS
RFC 822 (ARPA Internet Text Messages)
SEE ALSO
local(8), local delivery agent
newaliases(1), create/update alias database
postalias(1), create/update alias database
postconf(5), configuration parameters
README FILES
Use "
postconf readme_directory" or "
postconf
html_directory" to locate this information.
DATABASE_README, Postfix lookup table overview
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