aliases - format of the Postfix alias database
The aliases 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 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.
The input and output file formats are expected to be compatible with Sendmail version 8,
and are expected to be suitable for the use as NIS maps.
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 entries.
The format of the alias database input file is as follows:
o An alias definition has the form
name: value1, value2, ...
o Empty lines and whitespace-only lines are ignored, as are lines whose first non-
whitespace character is a `#'.
o 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 lower-
case, 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. This is typically used to direct delivery
errors to the owner 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:
Mail is forwarded to address, which is compatible with the RFC 822 standard.
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.
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.
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. How-
ever, 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 recip-
ient delimiter (e.g., user+foo), the search is repeated for the unextended address (e.g.,
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.
List of alias databases.
Restrict the usage of mail delivery to external command.
Restrict the usage of mail delivery to external file.
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.
Give special treatment to owner-xxx and xxx-request addresses.
Delimiter that separates recipients from address extensions.
RFC 822 (ARPA Internet Text Messages)
local(8) local delivery agent
postalias(1) alias database management
The Secure Mailer license must be distributed with this software.
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA