2000-04-30 22:52:26 +04:00
|
|
|
<html> <head> </head> <body> <pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CANONICAL(5) CANONICAL(5)
|
|
|
|
|
|
|
|
|
|
|
|
<b>NAME</b>
|
|
|
|
canonical - format of Postfix canonical table
|
|
|
|
|
|
|
|
<b>SYNOPSIS</b>
|
|
|
|
<b>postmap</b> <b>/etc/postfix/canonical</b>
|
|
|
|
|
|
|
|
<b>DESCRIPTION</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
The optional <b>canonical</b> table specifies an address mapping
|
2000-04-30 22:52:26 +04:00
|
|
|
for local and non-local addresses. The mapping is used by
|
|
|
|
the <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon. The address mapping is recursive.
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
Normally, the <b>canonical</b> 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</b> <b>/etc/postfix/canonical</b> 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.
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
The <b>canonical</b> mapping affects both message header
|
|
|
|
addresses (i.e. addresses that appear inside messages) and
|
|
|
|
message envelope addresses (for example, the addresses
|
|
|
|
that are used in SMTP protocol commands). Think Sendmail
|
|
|
|
rule set <b>S3</b>, if you like.
|
|
|
|
|
|
|
|
Typically, one would use the <b>canonical</b> table to replace
|
|
|
|
login names by <i>Firstname.Lastname</i>, or to clean up
|
|
|
|
addresses produced by legacy mail systems.
|
|
|
|
|
|
|
|
The <b>canonical</b> mapping is not to be confused with <i>virtual</i>
|
|
|
|
<i>domain</i> support. Use the <a href="virtual.5.html"><b>virtual</b>(5)</a> map for that purpose.
|
|
|
|
|
|
|
|
The <b>canonical</b> mapping is not to be confused with local
|
|
|
|
aliasing. Use the <a href="aliases.5.html"><b>aliases</b>(5)</a> map for that purpose.
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
<b>TABLE</b> <b>FORMAT</b>
|
|
|
|
The format of the <b>canonical</b> table is as follows:
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
blanks and comments
|
2001-03-13 20:45:02 +03:00
|
|
|
Blank lines are ignored, as are lines beginning
|
2000-04-30 22:52:26 +04:00
|
|
|
with `#'.
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
leading whitespace
|
|
|
|
Lines that begin with whitespace continue the pre-
|
|
|
|
vious line.
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CANONICAL(5) CANONICAL(5)
|
|
|
|
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
<i>pattern</i> <i>result</i>
|
|
|
|
When <i>pattern</i> matches a mail address, replace it by
|
|
|
|
the corresponding <i>result</i>.
|
|
|
|
|
|
|
|
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</i> <i>address</i>
|
|
|
|
<i>user</i>@<i>domain</i> is replaced by <i>address</i>. This form has
|
|
|
|
the highest precedence.
|
|
|
|
|
|
|
|
This form useful to clean up addresses produced by
|
|
|
|
legacy mail systems. It can also be used to pro-
|
|
|
|
duce <i>Firstname.Lastname</i> style addresses, but see
|
|
|
|
below for a simpler solution.
|
|
|
|
|
|
|
|
<i>user</i> <i>address</i>
|
|
|
|
<i>user</i>@<i>site</i> is replaced by <i>address</i> when <i>site</i> is equal
|
|
|
|
to $<b>myorigin</b>, when <i>site</i> is listed in $<b>mydestina-</b>
|
|
|
|
<b>tion</b>, or when it is listed in $<b>inet</b><i>_</i><b>interfaces</b>.
|
|
|
|
|
|
|
|
This form is useful for replacing login names by
|
2000-04-30 22:52:26 +04:00
|
|
|
<i>Firstname.Lastname</i>.
|
|
|
|
|
|
|
|
@<i>domain</i> <i>address</i>
|
2001-03-13 20:45:02 +03:00
|
|
|
Every address in <i>domain</i> is replaced by <i>address</i>.
|
2000-04-30 22:52:26 +04:00
|
|
|
This form has the lowest precedence.
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
In all the above forms, when <i>address</i> has the form @<i>other-</i>
|
2000-04-30 22:52:26 +04:00
|
|
|
<i>domain</i>, the result is the same user in <i>otherdomain</i>.
|
|
|
|
|
|
|
|
<b>ADDRESS</b> <b>EXTENSION</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
When table lookup fails, and the address localpart con-
|
|
|
|
tains the optional recipient delimiter (e.g.,
|
|
|
|
<i>user+foo</i>@<i>domain</i>), the search is repeated for the unex-
|
|
|
|
tended address (e.g. <i>user</i>@<i>domain</i>), and the unmatched
|
2000-04-30 22:52:26 +04:00
|
|
|
extension is propagated to the result of table lookup. The
|
|
|
|
matching order is: <i>user+foo</i>@<i>domain</i>, <i>user</i>@<i>domain</i>, <i>user+foo</i>,
|
|
|
|
<i>user</i>, and @<i>domain</i>.
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
<b>REGULAR</b> <b>EXPRESSION</b> <b>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</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CANONICAL(5) CANONICAL(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 <b>$1</b>, <b>$2</b> and so on.
|
|
|
|
|
2000-04-30 22:52:26 +04:00
|
|
|
<b>BUGS</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
The table format does not understand quoting conventions.
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
<b>CONFIGURATION</b> <b>PARAMETERS</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
The following <b>main.cf</b> parameters are especially relevant
|
|
|
|
to this topic. See the Postfix <b>main.cf</b> file for syntax
|
|
|
|
details and for default values. Use the <b>postfix</b> <b>reload</b>
|
2000-04-30 22:52:26 +04:00
|
|
|
command after a configuration change.
|
|
|
|
|
|
|
|
<b>canonical</b><i>_</i><b>maps</b>
|
|
|
|
List of canonical mapping tables.
|
|
|
|
|
|
|
|
<b>recipient</b><i>_</i><b>canonical</b><i>_</i><b>maps</b>
|
|
|
|
Address mapping lookup table for envelope and
|
|
|
|
header recipient addresses.
|
|
|
|
|
|
|
|
<b>sender</b><i>_</i><b>canonical</b><i>_</i><b>maps</b>
|
|
|
|
Address mapping lookup table for envelope and
|
|
|
|
header sender addresses.
|
|
|
|
|
|
|
|
Other parameters of interest:
|
|
|
|
|
|
|
|
<b>inet</b><i>_</i><b>interfaces</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
The network interface addresses that this system
|
2000-04-30 22:52:26 +04:00
|
|
|
receives mail on.
|
|
|
|
|
|
|
|
<b>masquerade</b><i>_</i><b>domains</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
List of domains that hide their subdomain struc-
|
2000-04-30 22:52:26 +04:00
|
|
|
ture.
|
|
|
|
|
|
|
|
<b>masquerade</b><i>_</i><b>exceptions</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
List of user names that are not subject to address
|
2000-04-30 22:52:26 +04:00
|
|
|
masquerading.
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
<b>mydestination</b>
|
|
|
|
List of domains that this mail system considers
|
|
|
|
local.
|
2000-04-30 22:52:26 +04:00
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
<b>myorigin</b>
|
|
|
|
The domain that is appended to locally-posted mail.
|
2000-04-30 22:52:26 +04:00
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
<b>owner</b><i>_</i><b>request</b><i>_</i><b>special</b>
|
|
|
|
Give special treatment to <b>owner-</b><i>xxx</i> and <i>xxx</i><b>-request</b>
|
|
|
|
addresses.
|
2000-04-30 22:52:26 +04:00
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
<b>SEE</b> <b>ALSO</b>
|
|
|
|
<a href="cleanup.8.html">cleanup(8)</a> canonicalize and enqueue mail
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
3
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
CANONICAL(5) CANONICAL(5)
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
|
|
|
|
<a href="postmap.1.html">postmap(1)</a> create mapping table
|
|
|
|
<a href="virtual.5.html">virtual(5)</a> virtual domain mapping
|
2001-03-13 20:45:02 +03:00
|
|
|
<a href="pcre_table.5.html">pcre_table(5)</a> format of PCRE tables
|
|
|
|
<a href="regexp_table.5.html">regexp_table(5)</a> format of POSIX regular expression tables
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
<b>LICENSE</b>
|
2001-03-13 20:45:02 +03:00
|
|
|
The Secure Mailer license must be distributed with this
|
2000-04-30 22:52:26 +04:00
|
|
|
software.
|
|
|
|
|
|
|
|
<b>AUTHOR(S)</b>
|
|
|
|
Wietse Venema
|
|
|
|
IBM T.J. Watson Research
|
|
|
|
P.O. Box 704
|
|
|
|
Yorktown Heights, NY 10598, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2001-03-13 20:45:02 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4
|
2000-04-30 22:52:26 +04:00
|
|
|
|
|
|
|
|
|
|
|
</pre> </body> </html>
|