curl https://exampleconfig.com/api/v1/config/original/a7635fa4f342da89d7aa87b12c9d372c?hint=aliases
wget -O aliases https://exampleconfig.com/api/v1/config/original/a7635fa4f342da89d7aa87b12c9d372c?hint=aliases
# # Sample aliases file. Install in the location as specified by the # output from the command "postconf alias_maps". Typical path names # are /etc/aliases or /etc/mail/aliases. # # >>>>>>>>>> The program "newaliases" must be run after # >> NOTE >> this file is updated for any changes to # >>>>>>>>>> show through to Postfix. # # Person who should get root's mail. Don't receive mail as root! #root: you # Basic system aliases -- these MUST be present MAILER-DAEMON: postmaster postmaster: root # General redirections for pseudo accounts bin: root daemon: root named: root nobody: root uucp: root www: root ftp-bugs: root postfix: root # Put your local aliases here. # Well-known aliases manager: root dumper: root operator: root abuse: postmaster # trap decode to catch security attacks decode: root # ALIASES(5) ALIASES(5) # # NAME # aliases - Postfix local alias database format # # SYNOPSIS # newaliases # # DESCRIPTION # The optional aliases(5) table (alias_maps) redirects mail # for local recipients. The redirections are processed by # the Postfix local(8) delivery agent. # # This is unlike virtual(5) aliasing (virtual_alias_maps) # which applies to all recipients: local(8), virtual, and # remote, and which is implemented by the cleanup(8) daemon. # # 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 regu- # lar-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: # # 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 logi- # cal 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 insensi- # tive. # # In addition, when an alias exists for owner-name, this # will override the envelope sender address, so that deliv- # ery 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: # # address # Mail is forwarded to address, which is compatible # with the RFC 822 standard. # # /file/name # Mail is appended to /file/name. For details on how # a file is written see the sections "EXTERNAL FILE # DELIVERY" and "DELIVERY RIGHTS" in the local(8) # documentation. 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. For details on how # a command is executed see "EXTERNAL COMMAND DELIV- # ERY" and "DELIVERY RIGHTS" in the local(8) documen- # tation. # # 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 simu- # late 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 local- # part 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 propa- # gated 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 (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) # Optional lookup tables with aliases that apply only # to local(8) recipients; this is unlike vir- # tual_alias_maps that apply to all recipients: # local(8), virtual, and remote. # # allow_mail_to_commands (alias, forward) # Restrict local(8) mail delivery to external com- # mands. # # 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 exten- # sion 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-list- # name and listname-request address localparts when # the recipient_delimiter is set to "-". # # recipient_delimiter (empty) # The set of characters that can separate an email # address localpart, user name, or a .forward file # name from its extension. # # 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_deliv- # ered_header) only once, at the start of a delivery # attempt; 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_direc- # tory" 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 # # ALIASES(5)
sudo apk add postfix
sudo apt update && sudo apt install postfix
sudo yum install postfix
sudo apt update && sudo apt install postfix
Use this original configuration file when you need to restore Postfix to its default state after misconfiguration, during fresh installations, or as a baseline for customization. It's particularly useful for troubleshooting when your current config isn't working properly.
Download this file and replace your current configuration at /etc/postfix/aliases
. Make sure to backup your existing configuration first, then restart the Postfix service to apply the changes.
This is the factory-default configuration that ships with Postfix on Alpine Linux v3.21. While it provides a secure baseline, you should review and customize security settings based on your specific production requirements and compliance needs.
This configuration is specifically from Alpine Linux v3.21. Different operating systems and versions may have slightly different default settings, security patches, or feature availability. Check the compatibility section above for other OS versions.
Yes, this original configuration is excellent for troubleshooting. Compare it with your current settings to identify modifications that might be causing issues, or temporarily replace your config with this one to isolate problems.