virtual - format of Postfix virtual table
The optional virtual table specifies redirections for
local and non-local recipients or domains. The redirec-
tions are used by the cleanup(8) daemon. The redirections
The virtual redirection is applied only to the recipient
envelope address, 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-
Normally, the file serves as input to the postmap(1) com-
mand. 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 virtual table.
When the table is provided via other means such as NIS,
LDAP or SQL, the same lookups are done as for ordinary
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.
Typical support for a virtual domain looks like the fol-
virtual.domainanything (right-hand content does not matter)
With this, the SMTP server accepts mail for virtual.domain
and rejects mail for email@example.com as undeliver-
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
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:
Mail for user@domain is redirected to address.
This form has the highest precedence.
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
This functionality overlaps with functionality of
the local alias(5) database. The difference is that
virtual mapping can be applied to non-local
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.
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.
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
Patterns are applied in the order as specified in the
table, until a pattern is found that matches the search
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.
The table format does not understand quoting conventions.
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 postfixreload
command after a configuration change.
List of virtual mapping tables.
Other parameters of interest:
The network interface addresses that this system
receives mail on.
List of domains that this mail system considers
The domain that is appended to locally-posted mail.
Give special treatment to owner-xxx and xxx-request
SEEALSOcleanup(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
The Secure Mailer license must be distributed with this
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA