{
    "mode": "man",
    "parameter": "ALIASES",
    "section": "5",
    "url": "https://www.chedong.com/phpMan.php/man/ALIASES/5/json",
    "generated": "2026-10-20T06:58:02Z",
    "synopsis": "",
    "sections": {
        "NAME": {
            "content": "aliases - Postfix local alias database format\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "",
            "subsections": [
                {
                    "name": "newaliases",
                    "content": ""
                }
            ]
        },
        "DESCRIPTION": {
            "content": "The  aliases(5) table provides a system-wide mechanism to redirect mail for local recipients.\nThe redirections are processed by the Postfix local(8) delivery agent.\n\nNormally, the aliases(5) table is specified as a text  file  that  serves  as  input  to  the\npostalias(1)  command.  The  result,  an  indexed  file in dbm or db format, is used for fast\nlookup by the mail system. Execute the command newaliases in order  to  rebuild  the  indexed\nfile after changing the Postfix alias database.\n\nWhen  the  table  is  provided via other means such as NIS, LDAP or SQL, the same lookups are\ndone as for ordinary indexed files.\n\nAlternatively, the table can be provided as a regular-expression map where patterns are given\nas regular expressions. In this case, the lookups are done in a slightly different way as de‐\nscribed below under \"REGULAR EXPRESSION TABLES\".\n\nUsers can control delivery of their own mail by setting up .forward files in their  home  di‐\nrectory.   Lines  in  per-user  .forward files have the same syntax as the right-hand side of\naliases(5) entries.\n\nThe format of the alias database input file is as follows:\n\n•      An alias definition has the form\n\nname: value1, value2, ...\n\n•      Empty lines and whitespace-only lines are ignored, as are lines whose first non-white‐\nspace character is a `#'.\n\n•      A logical line starts with non-whitespace text. A line  that  starts  with  whitespace\ncontinues a logical line.\n\nThe  name  is a local address (no domain part).  Use double quotes when the name contains any\nspecial characters such as whitespace, `#', `:', or `@'. The name is folded to lowercase,  in\norder to make database lookups case insensitive.\n\nIn  addition, when an alias exists for owner-name, this will override the envelope sender ad‐\ndress, so that delivery diagnostics are directed to owner-name, instead of the originator  of\nthe   message   (for   details,   see   ownerrequestspecial,   expandowneralias  and  re‐\nsetowneralias).  This is typically used to direct delivery errors to the  maintainer  of  a\nmailing  list,  who  is in a better position to deal with mailing list delivery problems than\nthe originator of the undelivered mail.\n\nThe value contains one or more of the following:\n\naddress\nMail is forwarded to address, which is compatible with the RFC 822 standard.\n\n/file/name\nMail is appended to /file/name. For details on how a file is written see the  sections\n\"EXTERNAL  FILE DELIVERY\" and \"DELIVERY RIGHTS\" in the local(8) documentation.  Deliv‐\nery is not limited to regular files.  For example, to dispose of  unwanted  mail,  de‐\nflect it to /dev/null.\n\n|command\nMail  is  piped into command. Commands that contain special characters, such as white‐\nspace, should be enclosed between double quotes. For details on how a command is  exe‐\ncuted see \"EXTERNAL COMMAND DELIVERY\" and \"DELIVERY RIGHTS\" in the local(8) documenta‐\ntion.\n\nWhen  the  command  fails,  a  limited  amount of command output is mailed back to the\nsender.  The file /usr/include/sysexits.h defines the expected exit status codes.  For\nexample, use \"|exit 67\" to simulate a \"user unknown\" error, and \"|exit 0\" to implement\nan expensive black hole.\n\n:include:/file/name\nMail  is  sent to the destinations listed in the named file.  Lines in :include: files\nhave the same syntax as the right-hand side of alias entries.\n\nA destination can be any destination that is described in this manual  page.  However,\ndelivery  to  \"|command\"  and /file/name is disallowed by default. To enable, edit the\nallowmailtocommands and allowmailtofiles configuration parameters.\n",
            "subsections": []
        },
        "ADDRESS EXTENSION": {
            "content": "When alias database search fails, and the recipient localpart contains the optional recipient\ndelimiter (e.g., user+foo), the search is repeated for the unextended address (e.g., user).\n\nThe propagateunmatchedextensions parameter controls whether an unmatched address  extension\n(+foo) is propagated to the result of table lookup.\n",
            "subsections": []
        },
        "CASE FOLDING": {
            "content": "The  local(8)  delivery  agent  always  folds  the search string to lowercase before database\nlookup.\n",
            "subsections": []
        },
        "REGULAR EXPRESSION TABLES": {
            "content": "This section describes how the table lookups change when the table is given in  the  form  of\nregular  expressions.  For  a description of regular expression lookup table syntax, see reg‐\nexptable(5) or pcretable(5). NOTE: these formats do not use \":\" at the end of a pattern.\n\nEach regular expression is applied to  the  entire  search  string.  Thus,  a  search  string\nuser+foo is not broken up into user and foo.\n\nRegular  expressions  are applied in the order as specified in the table, until a regular ex‐\npression is found that matches the search string.\n\nLookup results are the same as with indexed file lookups.  For security reasons there  is  no\nsupport for $1, $2 etc. substring interpolation.\n",
            "subsections": []
        },
        "SECURITY": {
            "content": "The  local(8)  delivery  agent  disallows  regular  expression  substitution  of  $1  etc. in\naliasmaps, because that would open a security hole.\n\nThe local(8) delivery agent will silently ignore  requests  to  use  the  proxymap(8)  server\nwithin  aliasmaps. Instead it will open the table directly.  Before Postfix version 2.2, the\nlocal(8) delivery agent will terminate with a fatal error.\n",
            "subsections": []
        },
        "CONFIGURATION PARAMETERS": {
            "content": "The following main.cf parameters are especially relevant.  The text below provides only a pa‐\nrameter summary. See postconf(5) for more details including examples.\n",
            "subsections": [
                {
                    "name": "alias_database (see 'postconf -d' output)",
                    "content": "The alias databases for local(8) delivery that are updated with \"newaliases\"  or  with\n\"sendmail -bi\".\n"
                },
                {
                    "name": "alias_maps (see 'postconf -d' output)",
                    "content": "The alias databases that are used for local(8) delivery.\n"
                },
                {
                    "name": "allow_mail_to_commands (alias, forward)",
                    "content": "Restrict local(8) mail delivery to external commands.\n"
                },
                {
                    "name": "allow_mail_to_files (alias, forward)",
                    "content": "Restrict local(8) mail delivery to external files.\n"
                },
                {
                    "name": "expand_owner_alias (no)",
                    "content": "When delivering to an alias \"aliasname\" that has an \"owner-aliasname\" companion alias,\nset the envelope sender address to the expansion of the \"owner-aliasname\" alias.\n"
                },
                {
                    "name": "propagate_unmatched_extensions (canonical, virtual)",
                    "content": "What address lookup tables copy an address extension from the lookup key to the lookup\nresult.\n"
                },
                {
                    "name": "owner_request_special (yes)",
                    "content": "Enable  special treatment for owner-listname entries in the aliases(5) file, and don't\nsplit owner-listname and listname-request address localparts when the recipientdelim‐\niter is set to \"-\".\n"
                },
                {
                    "name": "recipient_delimiter (empty)",
                    "content": "The set of characters that can separate an email address localpart, user  name,  or  a\n.forward file name from its extension.\n\nAvailable in Postfix version 2.3 and later:\n"
                },
                {
                    "name": "frozen_delivered_to (yes)",
                    "content": "Update   the  local(8)  delivery  agent's  idea  of  the  Delivered-To:  address  (see\nprependdeliveredheader) only once, at the start of a delivery attempt; do not update\nthe Delivered-To: address while expanding aliases or .forward files.\n"
                }
            ]
        },
        "STANDARDS": {
            "content": "RFC 822 (ARPA Internet Text Messages)\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "local(8), local delivery agent\nnewaliases(1), create/update alias database\npostalias(1), create/update alias database\npostconf(5), configuration parameters\n",
            "subsections": []
        },
        "README FILES": {
            "content": "Use \"postconf readmedirectory\" or \"postconf htmldirectory\" to locate this information.\nDATABASEREADME, Postfix lookup table overview\n",
            "subsections": []
        },
        "LICENSE": {
            "content": "The Secure Mailer license must be distributed with this software.\n\nAUTHOR(S)\nWietse Venema\nIBM T.J. Watson Research\nP.O. Box 704\nYorktown Heights, NY 10598, USA\n\nWietse Venema\nGoogle, Inc.\n111 8th Avenue\nNew York, NY 10011, USA\n\nALIASES(5)",
            "subsections": []
        }
    },
    "summary": "aliases - Postfix local alias database format",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "local",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/local/8/json"
        },
        {
            "name": "newaliases",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/newaliases/1/json"
        },
        {
            "name": "postalias",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/postalias/1/json"
        },
        {
            "name": "postconf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/postconf/5/json"
        }
    ]
}