mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-09-04 20:54:55 -04:00
300 lines
15 KiB
HTML
300 lines
15 KiB
HTML
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
<html> <head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
|
<title> Postfix manual - virtual(5) </title>
|
|
</head> <body> <pre>
|
|
VIRTUAL(5) VIRTUAL(5)
|
|
|
|
<b>NAME</b>
|
|
virtual - Postfix virtual alias table format
|
|
|
|
<b>SYNOPSIS</b>
|
|
<b>postmap /etc/postfix/virtual</b>
|
|
|
|
<b>postmap -q "</b><i>string</i><b>" /etc/postfix/virtual</b>
|
|
|
|
<b>postmap -q - /etc/postfix/virtual</b> <<i>inputfile</i>
|
|
|
|
<b>DESCRIPTION</b>
|
|
The optional <a href="virtual.5.html"><b>virtual</b>(5)</a> alias table rewrites recipient
|
|
addresses for all local, all virtual, and all remote mail
|
|
destinations. This is unlike the <a href="aliases.5.html"><b>aliases</b>(5)</a> table which
|
|
is used only for <a href="local.8.html"><b>local</b>(8)</a> delivery. Virtual aliasing is
|
|
recursive, and is implemented by the Postfix <a href="cleanup.8.html"><b>cleanup</b>(8)</a>
|
|
daemon before mail is queued.
|
|
|
|
The main applications of virtual aliasing are:
|
|
|
|
<b>o</b> To redirect mail for one address to one or more
|
|
addresses.
|
|
|
|
<b>o</b> To implement virtual alias domains where all
|
|
addresses are aliased to addresses in other
|
|
domains.
|
|
|
|
Virtual alias domains are not to be confused with
|
|
the <a href="ADDRESS_CLASS_README.html#virtual_mailbox_class">virtual mailbox domains</a> that are implemented
|
|
with the Postfix <a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery agent.
|
|
With virtual mailbox domains, each recipient
|
|
address can have its own mailbox.
|
|
|
|
Virtual aliasing is applied only to recipient envelope
|
|
addresses, and does not affect message headers. Use
|
|
<a href="canonical.5.html"><b>canonical</b>(5)</a> mapping to rewrite header and envelope
|
|
addresses in general.
|
|
|
|
Normally, the <a href="virtual.5.html"><b>virtual</b>(5)</a> alias table is specified as a
|
|
text file that serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> command.
|
|
The result, an indexed file in <b>dbm</b> or <b>db</b> format, is used
|
|
for fast searching by the mail system. Execute the command
|
|
"<b>postmap /etc/postfix/virtual</b>" to rebuild an indexed file
|
|
after changing the corresponding 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, or lookups can be directed to TCP-based server. In
|
|
those case, the lookups are done in a slightly different
|
|
way as described below under "REGULAR EXPRESSION TABLES"
|
|
or "TCP-BASED TABLES".
|
|
|
|
<b>CASE FOLDING</b>
|
|
The search string is folded to lowercase before database
|
|
lookup. As of Postfix 2.3, the search string is not case
|
|
folded with database types such as <a href="regexp_table.5.html">regexp</a>: or <a href="pcre_table.5.html">pcre</a>: whose
|
|
lookup fields can match both upper and lower case.
|
|
|
|
<b>TABLE FORMAT</b>
|
|
The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
|
|
|
|
<i>pattern result</i>
|
|
When <i>pattern</i> matches a mail address, replace it by
|
|
the corresponding <i>result</i>.
|
|
|
|
blank lines and comments
|
|
Empty lines and whitespace-only lines are ignored,
|
|
as are lines whose first non-whitespace character
|
|
is a `#'.
|
|
|
|
multi-line text
|
|
A logical line starts with non-whitespace text. A
|
|
line that starts with whitespace continues a logi-
|
|
cal line.
|
|
|
|
<b>TABLE SEARCH ORDER</b>
|
|
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:
|
|
|
|
<i>user</i>@<i>domain address, address, ...</i>
|
|
Redirect mail for <i>user</i>@<i>domain</i> to <i>address</i>. This
|
|
form has the highest precedence.
|
|
|
|
<i>user address, address, ...</i>
|
|
Redirect mail for <i>user</i>@<i>site</i> to <i>address</i> when <i>site</i> is
|
|
equal to $<b><a href="postconf.5.html#myorigin">myorigin</a></b>, when <i>site</i> is listed in $<b><a href="postconf.5.html#mydestination">mydes</a>-</b>
|
|
<b><a href="postconf.5.html#mydestination">tination</a></b>, or when it is listed in $<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a></b>
|
|
or $<b><a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a></b>.
|
|
|
|
This functionality overlaps with functionality of
|
|
the local <i>aliases</i>(5) database. The difference is
|
|
that <a href="virtual.5.html"><b>virtual</b>(5)</a> mapping can be applied to non-local
|
|
addresses.
|
|
|
|
@<i>domain address, address, ...</i>
|
|
Redirect mail for other users in <i>domain</i> to <i>address</i>.
|
|
This form has the lowest precedence.
|
|
|
|
Note: @<i>domain</i> is a wild-card. With this form, the
|
|
Postfix SMTP server accepts mail for any recipient
|
|
in <i>domain</i>, regardless of whether that recipient
|
|
exists. This may turn your mail system into a
|
|
backscatter source: Postfix first accepts mail for
|
|
non-existent recipients and then tries to return
|
|
that mail as "undeliverable" to the often forged
|
|
sender address.
|
|
|
|
<b>RESULT ADDRESS REWRITING</b>
|
|
The lookup result is subject to address rewriting:
|
|
|
|
<b>o</b> When the result has the form @<i>otherdomain</i>, the
|
|
result becomes the same <i>user</i> in <i>otherdomain</i>. This
|
|
works only for the first address in a multi-address
|
|
lookup result.
|
|
|
|
<b>o</b> When "<b><a href="postconf.5.html#append_at_myorigin">append_at_myorigin</a>=yes</b>", append "<b>@$<a href="postconf.5.html#myorigin">myorigin</a></b>"
|
|
to addresses without "@domain".
|
|
|
|
<b>o</b> When "<b><a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a>=yes</b>", append "<b>.$<a href="postconf.5.html#mydomain">mydomain</a></b>"
|
|
to addresses without ".domain".
|
|
|
|
<b>ADDRESS EXTENSION</b>
|
|
When a mail address localpart contains the optional recip-
|
|
ient delimiter (e.g., <i>user+foo</i>@<i>domain</i>), the lookup order
|
|
becomes: <i>user+foo</i>@<i>domain</i>, <i>user</i>@<i>domain</i>, <i>user+foo</i>, <i>user</i>, and
|
|
@<i>domain</i>.
|
|
|
|
The <b><a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a></b> parameter controls
|
|
whether an unmatched address extension (<i>+foo</i>) is propa-
|
|
gated to the result of table lookup.
|
|
|
|
<b>VIRTUAL ALIAS DOMAINS</b>
|
|
Besides virtual aliases, the virtual alias table can also
|
|
be used to implement <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a>. With a virtual
|
|
alias domain, all recipient addresses are aliased to
|
|
addresses in other domains.
|
|
|
|
Virtual alias domains are not to be confused with the vir-
|
|
tual mailbox domains that are implemented with the Postfix
|
|
<a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery agent. With virtual mailbox
|
|
domains, each recipient address can have its own mailbox.
|
|
|
|
With a virtual alias domain, the virtual domain has its
|
|
own user name space. Local (i.e. non-virtual) usernames
|
|
are not visible in a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a>. In particular,
|
|
local <a href="aliases.5.html"><b>aliases</b>(5)</a> and local mailing lists are not visible
|
|
as <i>localname@virtual-alias.domain</i>.
|
|
|
|
Support for a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> looks like:
|
|
|
|
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
|
|
<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual
|
|
|
|
Note: some systems use <b>dbm</b> databases instead of <b>hash</b>. See
|
|
the output from "<b>postconf -m</b>" for available database
|
|
types.
|
|
|
|
/etc/postfix/virtual:
|
|
<i>virtual-alias.domain anything</i> (right-hand content does not matter)
|
|
<i>postmaster@virtual-alias.domain postmaster</i>
|
|
<i>user1@virtual-alias.domain address1</i>
|
|
<i>user2@virtual-alias.domain address2, address3</i>
|
|
|
|
The <i>virtual-alias.domain anything</i> entry is required for a
|
|
<a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a>. <b>Without this entry, mail is rejected</b>
|
|
<b>with "relay access denied", or bounces with "mail loops</b>
|
|
<b>back to myself".</b>
|
|
|
|
Do not specify <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> names in the <a href="postconf.5.html"><b>main.cf</b></a>
|
|
<b><a href="postconf.5.html#mydestination">mydestination</a></b> or <b><a href="postconf.5.html#relay_domains">relay_domains</a></b> configuration parameters.
|
|
|
|
With a virtual alias domain, the Postfix SMTP server
|
|
accepts mail for <i>known-user@virtual-alias.domain</i>, and
|
|
rejects mail for <i>unknown-user</i>@<i>virtual-alias.domain</i> as
|
|
undeliverable.
|
|
|
|
Instead of specifying the virtual alias domain name via
|
|
the <b><a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a></b> table, you may also specify it via
|
|
the <a href="postconf.5.html"><b>main.cf</a> <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a></b> configuration parameter.
|
|
This latter parameter uses the same syntax as the <a href="postconf.5.html"><b>main.cf</b></a>
|
|
<b><a href="postconf.5.html#mydestination">mydestination</a></b> configuration parameter.
|
|
|
|
<b>REGULAR EXPRESSION TABLES</b>
|
|
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 <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
|
|
|
|
Each pattern is a regular expression that is applied to
|
|
the entire address being looked up. Thus, <i>user@domain</i> mail
|
|
addresses are not broken up into their <i>user</i> and <i>@domain</i>
|
|
constituent parts, nor is <i>user+foo</i> broken up into <i>user</i> and
|
|
<i>foo</i>.
|
|
|
|
Patterns are applied in the order as specified in the ta-
|
|
ble, until a pattern is found that matches the search
|
|
string.
|
|
|
|
Results are the same as with indexed file lookups, with
|
|
the additional feature that parenthesized substrings from
|
|
the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
|
|
|
|
<b>TCP-BASED TABLES</b>
|
|
This section describes how the table lookups change when
|
|
lookups are directed to a TCP-based server. For a descrip-
|
|
tion of the TCP client/server lookup protocol, see <a href="tcp_table.5.html"><b>tcp_ta-</b></a>
|
|
<a href="tcp_table.5.html"><b>ble</b>(5)</a>. This feature is not available up to and including
|
|
Postfix version 2.4.
|
|
|
|
Each lookup operation uses the entire address once. Thus,
|
|
<i>user@domain</i> mail addresses are not broken up into their
|
|
<i>user</i> and <i>@domain</i> constituent parts, nor is <i>user+foo</i> broken
|
|
up into <i>user</i> and <i>foo</i>.
|
|
|
|
Results are the same as with indexed file lookups.
|
|
|
|
<b>BUGS</b>
|
|
The table format does not understand quoting conventions.
|
|
|
|
<b>CONFIGURATION PARAMETERS</b>
|
|
The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
|
|
to this topic. See the Postfix <a href="postconf.5.html"><b>main.cf</b></a> file for syntax
|
|
details and for default values. Use the "<b>postfix reload</b>"
|
|
command after a configuration change.
|
|
|
|
<b><a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a></b>
|
|
List of virtual aliasing tables.
|
|
|
|
<b><a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a></b>
|
|
List of <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a>. This uses the same
|
|
syntax as the <b><a href="postconf.5.html#mydestination">mydestination</a></b> parameter.
|
|
|
|
<b><a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a></b>
|
|
A list of address rewriting or forwarding mecha-
|
|
nisms that propagate an address extension from the
|
|
original address to the result. Specify zero or
|
|
more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>, <b>forward</b>,
|
|
<b>include</b>, or <b>generic</b>.
|
|
|
|
Other parameters of interest:
|
|
|
|
<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a></b>
|
|
The network interface addresses that this system
|
|
receives mail on. You need to stop and start Post-
|
|
fix when this parameter changes.
|
|
|
|
<b><a href="postconf.5.html#mydestination">mydestination</a></b>
|
|
List of domains that this mail system considers
|
|
local.
|
|
|
|
<b><a href="postconf.5.html#myorigin">myorigin</a></b>
|
|
The domain that is appended to any address that
|
|
does not have a domain.
|
|
|
|
<b><a href="postconf.5.html#owner_request_special">owner_request_special</a></b>
|
|
Give special treatment to <b>owner-</b><i>xxx</i> and <i>xxx</i><b>-request</b>
|
|
addresses.
|
|
|
|
<b><a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a></b>
|
|
Other interfaces that this machine receives mail on
|
|
by way of a proxy agent or network address transla-
|
|
tor.
|
|
|
|
<b>SEE ALSO</b>
|
|
<a href="cleanup.8.html">cleanup(8)</a>, canonicalize and enqueue mail
|
|
<a href="postmap.1.html">postmap(1)</a>, Postfix lookup table manager
|
|
<a href="postconf.5.html">postconf(5)</a>, configuration parameters
|
|
<a href="canonical.5.html">canonical(5)</a>, canonical address mapping
|
|
|
|
<b>README FILES</b>
|
|
<a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a>, address rewriting guide
|
|
<a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
|
|
<a href="VIRTUAL_README.html">VIRTUAL_README</a>, domain hosting guide
|
|
|
|
<b>LICENSE</b>
|
|
The Secure Mailer license must be distributed with this
|
|
software.
|
|
|
|
<b>AUTHOR(S)</b>
|
|
Wietse Venema
|
|
IBM T.J. Watson Research
|
|
P.O. Box 704
|
|
Yorktown Heights, NY 10598, USA
|
|
|
|
VIRTUAL(5)
|
|
</pre> </body> </html>
|