diff options
Diffstat (limited to 'man/man5/generic.5')
-rw-r--r-- | man/man5/generic.5 | 271 |
1 files changed, 271 insertions, 0 deletions
diff --git a/man/man5/generic.5 b/man/man5/generic.5 new file mode 100644 index 0000000..7fc0862 --- /dev/null +++ b/man/man5/generic.5 @@ -0,0 +1,271 @@ +.TH GENERIC 5 +.ad +.fi +.SH NAME +generic +\- +Postfix generic table format +.SH "SYNOPSIS" +.na +.nf +\fBpostmap /etc/postfix/generic\fR + +\fBpostmap \-q "\fIstring\fB" /etc/postfix/generic\fR + +\fBpostmap \-q \- /etc/postfix/generic <\fIinputfile\fR +.SH DESCRIPTION +.ad +.fi +The optional \fBgeneric\fR(5) table specifies an address +mapping that applies when mail is delivered. This is the +opposite of \fBcanonical\fR(5) mapping, which applies when +mail is received. + +Typically, one would use the \fBgeneric\fR(5) table on a +system that does not have a valid Internet domain name and +that uses something like \fIlocaldomain.local\fR instead. +The \fBgeneric\fR(5) table is then used by the \fBsmtp\fR(8) +client to transform local mail addresses into valid Internet +mail addresses when mail has to be sent across the Internet. +See the EXAMPLE section at the end of this document. + +The \fBgeneric\fR(5) 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). + +Normally, the \fBgeneric\fR(5) table is specified as a +text file that serves as input to the \fBpostmap\fR(1) +command. The result, an indexed file in \fBdbm\fR or +\fBdb\fR format, is used for fast searching by the mail +system. Execute the command "\fBpostmap /etc/postfix/generic\fR" +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 expressions, 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". +.SH "CASE FOLDING" +.na +.nf +.ad +.fi +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 regexp: or pcre: whose +lookup fields can match both upper and lower case. +.SH "TABLE FORMAT" +.na +.nf +.ad +.fi +The input format for the \fBpostmap\fR(1) command is as follows: +.IP "\fIpattern result\fR" +When \fIpattern\fR matches a mail address, replace it by the +corresponding \fIresult\fR. +.IP "blank lines and comments" +Empty lines and whitespace\-only lines are ignored, as +are lines whose first non\-whitespace character is a `#'. +.IP "multi\-line text" +A logical line starts with non\-whitespace text. A line that +starts with whitespace continues a logical line. +.SH "TABLE SEARCH ORDER" +.na +.nf +.ad +.fi +With lookups from indexed files such as DB or DBM, or from networked +tables such as NIS, LDAP or SQL, each \fIuser\fR@\fIdomain\fR +query produces a sequence of query patterns as described below. + +Each query pattern is sent to each specified lookup table +before trying the next query pattern, until a match is +found. +.IP "\fIuser\fR@\fIdomain address\fR" +Replace \fIuser\fR@\fIdomain\fR by \fIaddress\fR. This form +has the highest precedence. +.IP "\fIuser address\fR" +Replace \fIuser\fR@\fIsite\fR by \fIaddress\fR when \fIsite\fR is +equal to $\fBmyorigin\fR, when \fIsite\fR is listed in +$\fBmydestination\fR, or when it is listed in $\fBinet_interfaces\fR +or $\fBproxy_interfaces\fR. +.IP "@\fIdomain address\fR" +Replace other addresses in \fIdomain\fR by \fIaddress\fR. +This form has the lowest precedence. +.SH "RESULT ADDRESS REWRITING" +.na +.nf +.ad +.fi +The lookup result is subject to address rewriting: +.IP \(bu +When the result has the form @\fIotherdomain\fR, the +result becomes the same \fIuser\fR in \fIotherdomain\fR. +.IP \(bu +When "\fBappend_at_myorigin=yes\fR", append "\fB@$myorigin\fR" +to addresses without "@domain". +.IP \(bu +When "\fBappend_dot_mydomain=yes\fR", append +"\fB.$mydomain\fR" to addresses without ".domain". +.SH "ADDRESS EXTENSION" +.na +.nf +.fi +.ad +When a mail address localpart contains the optional recipient delimiter +(e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes: +\fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR, +\fIuser\fR, and @\fIdomain\fR. + +The \fBpropagate_unmatched_extensions\fR parameter controls whether +an unmatched address extension (\fI+foo\fR) is propagated to the +result of table lookup. +.SH "REGULAR EXPRESSION TABLES" +.na +.nf +.ad +.fi +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 \fBregexp_table\fR(5) +or \fBpcre_table\fR(5). + +Each pattern is a regular expression that is applied to the entire +address being looked up. Thus, \fIuser@domain\fR mail addresses are not +broken up into their \fIuser\fR and \fI@domain\fR constituent parts, +nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR. + +Patterns are applied in the order as specified in the table, 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 \fB$1\fR, \fB$2\fR and so on. +.SH "TCP-BASED TABLES" +.na +.nf +.ad +.fi +This section describes how the table lookups change when lookups +are directed to a TCP\-based server. For a description of the TCP +client/server lookup protocol, see \fBtcp_table\fR(5). +This feature is not available up to and including Postfix version 2.4. + +Each lookup operation uses the entire address once. Thus, +\fIuser@domain\fR mail addresses are not broken up into their +\fIuser\fR and \fI@domain\fR constituent parts, nor is +\fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR. + +Results are the same as with indexed file lookups. +.SH "EXAMPLE" +.na +.nf +.ad +.fi +The following shows a generic mapping with an indexed file. +When mail is sent to a remote host via SMTP, this replaces +\fIhis@localdomain.local\fR by his ISP mail address, replaces +\fIher@localdomain.local\fR by her ISP mail address, and +replaces other local addresses by his ISP account, with +an address extension of \fI+local\fR (this example assumes +that the ISP supports "+" style address extensions). + +.na +.nf +/etc/postfix/main.cf: + smtp_generic_maps = hash:/etc/postfix/generic + +/etc/postfix/generic: + his@localdomain.local hisaccount@hisisp.example + her@localdomain.local heraccount@herisp.example + @localdomain.local hisaccount+local@hisisp.example + +.ad +.fi +Execute the command "\fBpostmap /etc/postfix/generic\fR" +whenever the table is changed. Instead of \fBhash\fR, some +systems use \fBdbm\fR database files. To find out what +tables your system supports use the command "\fBpostconf +\-m\fR". +.SH BUGS +.ad +.fi +The table format does not understand quoting conventions. +.SH "CONFIGURATION PARAMETERS" +.na +.nf +.ad +.fi +The following \fBmain.cf\fR parameters are especially relevant. +The text below provides only a parameter summary. See +\fBpostconf\fR(5) for more details including examples. +.IP \fBsmtp_generic_maps\fR +Address mapping lookup table for envelope and header sender +and recipient addresses while delivering mail via SMTP. +.IP \fBpropagate_unmatched_extensions\fR +A list of address rewriting or forwarding mechanisms that propagate +an address extension from the original address to the result. +Specify zero or more of \fBcanonical\fR, \fBvirtual\fR, \fBalias\fR, +\fBforward\fR, \fBinclude\fR, or \fBgeneric\fR. +.PP +Other parameters of interest: +.IP \fBinet_interfaces\fR +The network interface addresses that this system receives mail on. +You need to stop and start Postfix when this parameter changes. +.IP \fBproxy_interfaces\fR +Other interfaces that this machine receives mail on by way of a +proxy agent or network address translator. +.IP \fBmydestination\fR +List of domains that this mail system considers local. +.IP \fBmyorigin\fR +The domain that is appended to locally\-posted mail. +.IP \fBowner_request_special\fR +Give special treatment to \fBowner\-\fIxxx\fR and \fIxxx\fB\-request\fR +addresses. +.SH "SEE ALSO" +.na +.nf +postmap(1), Postfix lookup table manager +postconf(5), configuration parameters +smtp(8), Postfix SMTP client +.SH "README FILES" +.na +.nf +.ad +.fi +Use "\fBpostconf readme_directory\fR" or +"\fBpostconf html_directory\fR" to locate this information. +.na +.nf +ADDRESS_REWRITING_README, address rewriting guide +DATABASE_README, Postfix lookup table overview +STANDARD_CONFIGURATION_README, configuration examples +.SH "LICENSE" +.na +.nf +.ad +.fi +The Secure Mailer license must be distributed with this software. +.SH HISTORY +.ad +.fi +A genericstable feature appears in the Sendmail MTA. + +This feature is available in Postfix 2.2 and later. +.SH "AUTHOR(S)" +.na +.nf +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 |