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:
name: value1, value2, ...
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, this will override the envelope sender address, so that delivery diagnostics are directed to owner-name, instead of the originator of the message (for details, see owner_request_special, expand_owner_alias and reset_owner_alias). 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:
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.
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.
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 local(8) delivery agent always folds the search string to lowercase before database lookup.
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.
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.
The following main.cf parameters are especially relevant. The text below provides only a parameter summary. See postconf(5) for more details including examples.
Available in Postfix version 2.3 and later:
RFC 822 (ARPA Internet Text Messages)
local(8), local delivery agent newaliases(1), create/update alias database postalias(1), create/update alias database postconf(5), configuration parameters
Use "postconf readme_directory" or "postconf html_directory" to locate this information.
DATABASE_README, Postfix lookup table overview
The Secure Mailer license must be distributed with this software.
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