ALIASES(5)                                             ALIASES(5)

          aliases - Postfix local alias database format


          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

          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

          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:

          +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
          lowercase,   in   order   to   make  database  lookups  case

     Page 1                       Plan 9             (printed 5/26/22)

     ALIASES(5)                                             ALIASES(5)


          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:

               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. 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

     Page 2                       Plan 9             (printed 5/26/22)

     ALIASES(5)                                             ALIASES(5)

          (e.g., user).

          The   propagate_unmatched_extensions   parameter    controls
          whether  an unmatched address extension (+foo) is propagated
          to the result of table lookup.

          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.

          Lookup results are the same as with  indexed  file  lookups.
          For  security  reasons  there  is no support for $1, $2 etc.
          substring interpolation.

          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

          The following parameters  are  especially  relevant.
          The  text  below  provides  only  a  parameter  summary. See
          postconf(5) for more details including examples.

          alias_database (see 'postconf -d' output)
               The alias databases  for  local(8)  delivery  that  are
               updated with "newaliases" or with "sendmail -bi".

          alias_maps (see 'postconf -d' output)
               The  alias  databases  that  are  used   for   local(8)

     Page 3                       Plan 9             (printed 5/26/22)

     ALIASES(5)                                             ALIASES(5)

          allow_mail_to_commands (alias, forward)
               Restrict local(8) mail delivery to external commands.

          allow_mail_to_files (alias, forward)
               Restrict local(8) mail delivery to external files.

          expand_owner_alias (no)
               When delivering to an alias  "aliasname"  that  has  an
               "owner-aliasname"  companion  alias,  set  the envelope
               sender   address    to    the    expansion    of    the
               "owner-aliasname" alias.

          propagate_unmatched_extensions (canonical, virtual)
               What address lookup tables copy  an  address  extension
               from the lookup key to the lookup result.

          owner_request_special (yes)
               Enable special treatment for owner-listname entries  in
               the aliases(5) file, and don't split owner-listname and
               listname-request   address    localparts    when    the
               recipient_delimiter is set to "-".

          recipient_delimiter (empty)
               The set of characters that can  separate  a  user  name
               from  its  extension (example: user+foo), or a .forward
               file name from its extension (example: .forward+foo).

          Available in Postfix version 2.3 and later:

          frozen_delivered_to (yes)
               Update  the  local(8)  delivery  agent's  idea  of  the
               Delivered-To:  address  (see  prepend_delivered_header)
               only once, at the start of a delivery attempt;  do  not
               update   the   Delivered-To:  address  while  expanding
               aliases or .forward files.

          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

     Page 4                       Plan 9             (printed 5/26/22)

     ALIASES(5)                                             ALIASES(5)


          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

     Page 5                       Plan 9             (printed 5/26/22)