summaryrefslogtreecommitdiff
path: root/gnu/dist/postfix/html/canonical.5.html
blob: aedf505260f4b75a272d0965dd81dd484d627d56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
<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>
       The  optional <b>canonical</b> table specifies an address mapping
       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.

       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.

       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.

<b>TABLE</b> <b>FORMAT</b>
       The format of the <b>canonical</b> table is as follows:

       blanks and comments
              Blank lines are ignored,  as  are  lines  beginning
              with `#'.

       leading whitespace
              Lines  that begin with whitespace continue the pre-
              vious line.




                                                                1





CANONICAL(5)                                         CANONICAL(5)


       <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
              <i>Firstname.Lastname</i>.

       @<i>domain</i> <i>address</i>
              Every address in <i>domain</i>  is  replaced  by  <i>address</i>.
              This form has the lowest precedence.

       In  all the above forms, when <i>address</i> has the form @<i>other-</i>
       <i>domain</i>, the result is the same user in <i>otherdomain</i>.

<b>ADDRESS</b> <b>EXTENSION</b>
       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
       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>.

<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.

<b>BUGS</b>
       The table format does not understand quoting  conventions.

<b>CONFIGURATION</b> <b>PARAMETERS</b>
       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>
       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>
              The network interface addresses  that  this  system
              receives mail on.

       <b>masquerade</b><i>_</i><b>domains</b>
              List  of  domains  that hide their subdomain struc-
              ture.

       <b>masquerade</b><i>_</i><b>exceptions</b>
              List of user names that are not subject to  address
              masquerading.

       <b>mydestination</b>
              List  of  domains  that  this mail system considers
              local.

       <b>myorigin</b>
              The domain that is appended to locally-posted mail.

       <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.

<b>SEE</b> <b>ALSO</b>
       <a href="cleanup.8.html">cleanup(8)</a> canonicalize and enqueue mail



                                                                3





CANONICAL(5)                                         CANONICAL(5)


       <a href="postmap.1.html">postmap(1)</a> create mapping table
       <a href="virtual.5.html">virtual(5)</a> virtual domain mapping
       <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

<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











































                                                                4


</pre> </body> </html>