Expand PMF_FN_* macros.
[netbsd-mini2440.git] / external / ibm-public / postfix / dist / README_FILES / VERP_README
blob94ce80b18b74aee98515a707740aea0c1191e555
1 P\bPo\bos\bst\btf\bfi\bix\bx V\bVE\bER\bRP\bP H\bHo\bow\bwt\bto\bo
3 -------------------------------------------------------------------------------
5 P\bPo\bos\bst\btf\bfi\bix\bx V\bVE\bER\bRP\bP s\bsu\bup\bpp\bpo\bor\brt\bt
7 Postfix versions 1.1 and later support variable envelope return path addresses
8 on request. When VERP style delivery is requested, each recipient of a message
9 receives a customized copy of the message, with his/her own recipient address
10 encoded in the envelope sender address.
12 For example, when VERP style delivery is requested, Postfix delivers mail from
13 "owner-listname@origin" for a recipient "user@domain", with a sender address
14 that encodes the recipient as follows:
16     owner-listname+user=domain@origin
18 Thus, undeliverable mail can reveal the undeliverable recipient address without
19 requiring the list owner to parse bounce messages.
21 The VERP concept was popularized by the qmail MTA and by the ezmlm mailing list
22 manager. See http://cr.yp.to/proto/verp.txt for the ideas behind this concept.
24 Topics covered in this document:
26   * Postfix VERP configuration parameters
27   * Using VERP with majordomo etc. mailing lists
28   * VERP support in the Postfix SMTP server
29   * VERP support in the Postfix sendmail command
30   * VERP support in the Postfix QMQP server
32 P\bPo\bos\bst\btf\bfi\bix\bx V\bVE\bER\bRP\bP c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn p\bpa\bar\bra\bam\bme\bet\bte\ber\brs\bs
34 With Postfix, the whole process is controlled by four configuration parameters.
36 default_verp_delimiters (default value: +=)
37     What VERP delimiter characters Postfix uses when VERP style delivery is
38     requested but no explicit delimiters are specified.
40 verp_delimiter_filter (default: -+=)
41     What characters Postfix accepts as VERP delimiter characters on the
42     sendmail command line and in SMTP commands. Many characters must not be
43     used as VERP delimiter characters, either because they already have a
44     special meaning in email addresses (such as the @ or the %), because they
45     are used as part of a username or domain name (such as alphanumerics), or
46     because they are non-ASCII or control characters. And who knows, some
47     characters may tickle bugs in vulnerable software, and we would not want
48     that to happen.
50 smtpd_authorized_verp_clients (default value: none)
51     What SMTP clients are allowed to request VERP style delivery. The Postfix
52     QMQP server uses its own access control mechanism, and local submission
53     (via /usr/sbin/sendmail etc.) is always authorized. To authorize a host,
54     list its name, IP address, subnet (net/mask) or parent .domain.
56     With Postfix versions 1.1 and 2.0, this parameter is called
57     authorized_verp_clients (default: $mynetworks).
59 disable_verp_bounces (default: no)
60     if Postfix sends one bounce report for multi-recipient VERP mail, or one
61     bounce report per recipient. The default, one per recipient, is what ezmlm
62     needs.
64 U\bUs\bsi\bin\bng\bg V\bVE\bER\bRP\bP w\bwi\bit\bth\bh m\bma\baj\bjo\bor\brd\bdo\bom\bmo\bo e\bet\btc\bc.\b. m\bma\bai\bil\bli\bin\bng\bg l\bli\bis\bst\bts\bs
66 In order to make VERP useful with majordomo etc. mailing lists, you would
67 configure the list manager to submit mail according to one of the following two
68 forms:
70 Postfix 2.3 and later:
72     % sendmail -XV -f owner-listname other-arguments...
74     % sendmail -XV+= -f owner-listname other-arguments...
76 Postfix 2.2 and earlier (Postfix 2.3 understands the old syntax for backwards
77 compatibility, but will log a warning that reminds you of the new syntax):
79     % sendmail -V -f owner-listname other-arguments...
81     % sendmail -V+= -f owner-listname other-arguments...
83 The first form uses the default main.cf VERP delimiter characters. The second
84 form allows you to explicitly specify the VERP delimiter characters. The
85 example shows the recommended values.
87 This text assumes that you have set up an owner-listname alias that routes
88 undeliverable mail to a real person:
90     /etc/aliases:
91         owner-listname: yourname+listname
93 In order to process bounces we are going to make extensive use of address
94 extension tricks.
96 You need to tell Postfix that + is the separator between an address and its
97 optional address extension, that address extensions are appended to .forward
98 file names, and that address extensions are to be discarded when doing alias
99 expansions:
101     /etc/postfix/main.cf:
102         recipient_delimiter = +
103         forward_path = $home/.forward${recipient_delimiter}${extension},
104             $home/.forward
105         propagate_unmatched_extensions = canonical, virtual
107 (the last two parameter settings are default settings).
109 You need to set up a file named .forward+listname with the commands that
110 process all the mail that is sent to the owner-listname address:
112     ~/.forward+listname:
113         "|/some/where/command ..."
115 With this set up, undeliverable mail for user@domain will be returned to the
116 following address:
118     owner-listname+user=domain@your.domain
120 which is processed by the command in your .forward+listname file. The message
121 should contain, among others, a To: header with the encapsulated recipient
122 sender address:
124     To: owner-listname+user=domain@your.domain
126 It is left as an exercise for the reader to parse the To: header line and to
127 pull out the user=domain part from the recipient address.
129 V\bVE\bER\bRP\bP s\bsu\bup\bpp\bpo\bor\brt\bt i\bin\bn t\bth\bhe\be P\bPo\bos\bst\btf\bfi\bix\bx S\bSM\bMT\bTP\bP s\bse\ber\brv\bve\ber\br
131 The Postfix SMTP server implements a command XVERP to enable VERP style
132 delivery. The syntax allows two forms:
134     MAIL FROM:<sender@domain> XVERP
136     MAIL FROM:<sender@domain> XVERP=+=
138 The first form uses the default main.cf VERP delimiters, the second form
139 overrides them explicitly. The values shown are the recommended ones.
141 V\bVE\bER\bRP\bP s\bsu\bup\bpp\bpo\bor\brt\bt i\bin\bn t\bth\bhe\be P\bPo\bos\bst\btf\bfi\bix\bx s\bse\ben\bnd\bdm\bma\bai\bil\bl c\bco\bom\bmm\bma\ban\bnd\bd
143 The Postfix sendmail command has a -V flag to request VERP style delivery.
144 Specify one of the following two forms:
146 Postfix 2.3 and later:
148     % sendmail -XV -f owner-listname ....
150     % sendmail -XV+= -f owner-listname ....
152 Postfix 2.2 and earlier (Postfix 2.3 understands the old syntax for backwards
153 compatibility, but will log a warning that reminds you of the new syntax):
155     % sendmail -V -f owner-listname ....
157     % sendmail -V+= -f owner-listname ....
159 The first form uses the default main.cf VERP delimiters, the second form
160 overrides them explicitly. The values shown are the recommended ones.
162 V\bVE\bER\bRP\bP s\bsu\bup\bpp\bpo\bor\brt\bt i\bin\bn t\bth\bhe\be P\bPo\bos\bst\btf\bfi\bix\bx Q\bQM\bMQ\bQP\bP s\bse\ber\brv\bve\ber\br
164 When the Postfix QMQP server receives mail with an envelope sender address of
165 the form:
167     listname-@your.domain-@[]
169 Postfix generates sender addresses "listname-user=domain@your.domain", using "-
170 =" as the VERP delimiters because qmail/ezmlm expect this.
172 More generally, a sender address of "prefix@origin-@[]" requests VERP style
173 delivery with sender addresses of the form "prefixuser=domain@origin". However,
174 Postfix allows only VERP delimiters that are specified with the
175 verp_delimiter_filter parameter. In particular, the "=" delimiter is required
176 for qmail compatibility (see the qmail addresses(5) manual page for details).