# # VIRTUAL(5) VIRTUAL(5) # # NAME # virtual - format of Postfix virtual table # # SYNOPSIS # postmap /etc/postfix/virtual # # DESCRIPTION # The optional virtual table specifies address redirections # for local and non-local recipients or domains. The redi- # rections are used by the cleanup(8) daemon. The redirec- # tions are recursive. # # The virtual redirection is applied only to recipient enve- # lope addresses, and does not affect message headers. # Think Sendmail rule set S0, if you like. Use canonical(5) # mapping to rewrite header and envelope addresses in gen- # eral. # # Normally, the virtual table is specified as a text file # that serves as input to the postmap(1) command. The # result, an indexed file in dbm or db format, is used for # fast searching by the mail system. Execute the command # postmap /etc/postfix/virtual in order to rebuild the # indexed file after changing the text file. # # 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 expres- # sions. In that case, the lookups are done in a slightly # different way as described below. # # POSTFIX-STYLE VIRTUAL DOMAINS # With a Postfix-style virtual domain, the virtual domain # has its own user name space. Local (i.e. non-virtual) # usernames are not visible in a Postfix-style virtual # domain. In particular, local aliases(5) and mailing lists # are not visible as localname@virtual.domain. # # Use a Sendmail-style virtual domain (see below) if local # usernames, aliases(5) or mailing lists should be visible # as localname@virtual.domain. # # Support for a Postfix-style virtual domain looks like: # # /etc/postfix/virtual: # virtual.domain anything (right-hand content does not matter) # postmaster@virtual.domain postmaster # user1@virtual.domain address1 # user2@virtual.domain address2, address3 # # The virtual.domain anything entry is required for a # # 1 # # VIRTUAL(5) VIRTUAL(5) # # Postfix-style virtual domain. # # Do not list a Postfix-style virtual domain in the main.cf # mydestination configuration parameter. Such an entry is # required only for a Sendmail-style virtual domain. # # With a Postfix-style virtual domain, the Postfix SMTP # server accepts mail for known-user@virtual.domain and # rejects mail for unknown-user@virtual.domain as undeliver- # able. # # SENDMAIL-STYLE VIRTUAL DOMAINS # With a Sendmail-style virtual domain, every local (i.e. # non-virtual) username is visible in the virtual domain. In # particular, every local alias and mailing list is visible # as localname@virtual.domain. # # Use a Postfix-style virtual domain (see above) if local # usernames, aliases(5) or mailing lists should not be visi- # ble as localname@virtual.domain. # # Support for a Sendmail-style virtual domain looks like: # # /etc/postfix/main.cf: # mydestination = $myhostname localhost.$mydomain $mydomain # virtual.domain # # /etc/postfix/virtual: # user1@virtual.domain address1 # user2@virtual.domain address2, address3 # # The main.cf mydestination entry is required for a Send- # mail-style virtual domain. # # Do not specify a virtual.domain whatever virtual map entry # for a Sendmail-style virtual domain. Such an entry is # required only with a Postfix-style virtual domain. # # With a Sendmail-style virtual domain, the Postfix local # delivery agent delivers mail for an unknown user@vir- # tual.domain to a local (i.e. non-virtual) user that has # the same name; if no such recipient exists, the Postfix # local delivery agent bounces the mail to the sender. # # TABLE FORMAT # The format of the virtual table is as follows, mappings # being tried in the order as listed in this manual page: # # blanks and comments # Blank lines are ignored, as are lines beginning # with `#'. # # leading whitespace # Lines that begin with whitespace continue the # # 2 # # VIRTUAL(5) VIRTUAL(5) # # previous line. # # pattern result # When pattern matches a mail address, replace it by # the corresponding result. # # With lookups from indexed files such as DB or DBM, or from # networked tables such as NIS, LDAP or SQL, patterns are # tried in the order as listed below: # # user@domain address, address, ... # Mail for user@domain is redirected to address. # This form has the highest precedence. # # user address, address, ... # Mail for user@site is redirected to address when # site is equal to $myorigin, when site is listed in # $mydestination, or when it is listed in # $inet_interfaces. # # This functionality overlaps with functionality of # the local alias(5) database. The difference is that # virtual mapping can be applied to non-local # addresses. # # @domain address, address, ... # Mail for any user in domain is redirected to # address. This form has the lowest precedence. # # In all the above forms, when address has the form @other- # domain, the result is the same user in otherdomain. This # works for the first address in the expansion only. # # ADDRESS EXTENSION # When the search fails, and the address localpart contains # the optional recipient delimiter (e.g., user+foo@domain), # the search is repeated for the unextended address (e.g. # user@domain), and the unmatched address extension is prop- # agated to the result of expansion. The matching order is: # user+foo@domain, user@domain, user+foo, user, and @domain. # # 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). # # Each pattern is a regular expression that is applied to # the entire address being looked up. Thus, user@domain mail # addresses are not broken up into their user and @domain # constituent parts, nor is user+foo broken up into user and # foo. # # Patterns are applied in the order as specified in the # # 3 # # VIRTUAL(5) VIRTUAL(5) # # table, until a pattern is found that matches the search # string. # # Results are the same as with normal indexed file lookups, # with the additional feature that parenthesized substrings # from the pattern can be interpolated as $1, $2 and so on. # # BUGS # The table format does not understand quoting conventions. # # CONFIGURATION PARAMETERS # 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. # # virtual_maps # List of virtual mapping tables. # # Other parameters of interest: # # inet_interfaces # The network interface addresses that this system # receives mail on. # # mydestination # List of domains that this mail system considers # local. # # myorigin # The domain that is appended to locally-posted mail. # # owner_request_special # Give special treatment to owner-xxx and xxx-request # addresses. # # SEE ALSO # cleanup(8) canonicalize and enqueue mail # postmap(1) create mapping table # pcre_table(5) format of PCRE tables # regexp_table(5) format of POSIX regular expression tables # # 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 # # 4 #