Mercurial > hg > mlmmj
annotate README.listtexts @ 741:b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
and document \uNNNN substitution
Also, the interface to prepstdreply() has changed; there is no longer a
customheaders argument, which was never used anyway, and is now essentially
redundant due to this patch.
author | Ben Schmidt |
---|---|
date | Mon, 20 Sep 2010 01:44:58 +1000 |
parents | c910b56dc039 |
children | b00eb39643c1 |
rev | line source |
---|---|
738 | 1 README.listtexts |
2 | |
3 List texts in mlmmj | |
4 =================== | |
5 | |
6 List texts are stored in listdir/text. They specify the content of various | |
7 automatic emails that Mlmmj sends. They are provided in a number of different | |
8 languages. The language to use for a list is chosen when you run the | |
9 mlmmj-make-ml.sh script and the appropriate files are copied into your | |
10 listdir/text directory. | |
11 | |
12 This file documents | |
13 | |
14 - Supported list texts | |
15 - List text format | |
16 - List text substitutions | |
17 | |
18 Supported list texts | |
19 -------------------- | |
20 | |
21 The following list texts are supported by mlmmj: | |
22 | |
23 - access | |
24 sent to a poster when their post is denied because of an access rule | |
25 | |
26 - bounce-probe | |
27 sent to a subscriber after an email to them bounced to inform them of the | |
28 bounce and probe when the address is no longer bouncing | |
29 | |
30 - digest | |
31 sent at the start of a digest | |
32 | |
33 - listfaq | |
34 sent in response to an email to listname+faq@domain.tld | |
35 | |
36 - listhelp | |
37 sent in response to an email to listname+help@domain.tld | |
38 | |
39 - listsubs | |
40 sent in response to an email to listname+list@domain.tld from the list owner | |
41 (the formatted list of subscribers is automatically appended to the listtext) | |
42 | |
43 - maxmailsize | |
44 sent to the poster when a mail exceeds the maximum allowed size | |
45 | |
46 - moderation | |
47 - moderation-poster | |
48 sent when a message is to be moderated (to the appropriate moderators or to | |
49 the poster) | |
50 | |
51 - notifysub | |
52 - notifysub-digest | |
53 - notifysub-nomail | |
54 - notifyunsub | |
55 - notifyunsub-digest | |
56 - notifyunsub-nomail | |
57 sent to the list owner when somebody is (un-)subscribed | |
58 | |
59 - notintocc | |
60 sent to the poster when the list address is not found in a To: or CC: header | |
61 | |
62 - sub-confirm | |
63 - sub-confirm-digest | |
64 - sub-confirm-nomail | |
65 sent to a requester to allow them to confirm a subscription request | |
66 | |
67 - sub-deny-digest | |
68 - sub-deny-nomail | |
69 sent when a subscription request is received for the digest or nomail version | |
70 of a list when that version is disabled | |
71 | |
72 - sub-ok | |
73 - sub-ok-digest | |
74 - sub-ok-nomail | |
75 sent to the new subscriber when a subscription succeeds | |
76 | |
77 - sub-subscribed | |
78 sent to a person sending a subscription request when they are already | |
79 subscribed to the list | |
80 | |
81 - submod-moderator | |
82 - submod-requester | |
83 sent when a subscription is to be moderated (to the appropriate moderators | |
84 or to the requester) | |
85 | |
86 - subonlypost | |
87 sent to the poster when they attempt to post to a subonlypost list without | |
88 being subscribed | |
89 | |
90 - unsub-confirm | |
91 - unsub-confirm-digest | |
92 - unsub-confirm-nomail | |
93 sent to a subscriber to allow them to confirm an unsubscription request | |
94 | |
95 - unsub-notsubscribed | |
96 sent to a person sending an unsubscription request when they are not actually | |
97 subscribed to the list | |
98 | |
99 - unsub-ok | |
100 - unsub-ok-digest | |
101 - unsub-ok-nomail | |
102 sent to the old subscriber when an unsubscription succeeds | |
103 | |
104 List text format | |
105 ---------------- | |
106 | |
107 They have the following format: | |
108 | |
741
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
109 - Headers |
738 | 110 - Blank line |
111 - Body | |
112 | |
113 They are expected to be in UTF-8 encoding and have Unix line endings. | |
114 | |
741
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
115 The headers should be formatted as they should appear in the mail message. They |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
116 will begin the mail message. Header continuation via lines beginning with |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
117 linear whitespace is supported. |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
118 |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
119 Following the headers found in the list text, Mlmmj will output the following |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
120 default headers, unless the same header is already provided in the list text. |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
121 |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
122 - From: |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
123 - To: |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
124 - Message-ID: |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
125 - Date: |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
126 - Subject: mlmmj administrivia |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
127 - MIME-Version: 1.0 |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
128 - Content-Type: text/plain; charset=utf-8 |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
129 - Content-Transfer-Encoding: 8bit |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
130 |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
131 The Subject: header is treated specially: it may include UTF-8 characters, |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
132 which will automatically be escaped using the =?utf-8?q?...?= quoting |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
133 mechanism. |
738 | 134 |
135 List text substitutions | |
136 ----------------------- | |
137 | |
741
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
138 Both headers and body may include the following, which are substituted prior to |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
139 sending the message (though note that some of these substitutions are |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
140 multi-line substitutions and would not work in a header): |
738 | 141 |
142 - $bouncenumbers$ | |
143 (available only in bounceprobe) | |
144 the formatted list of indexes of messages which may not have been received as | |
145 they bounced | |
146 | |
147 - $confaddr$ | |
148 (available only in [un]sub-confirm[-digest|-nomail]) | |
149 the address to which to send mail to confirm the (un-)subscription in | |
150 question | |
151 | |
152 - $digestfirst$ | |
153 (available only in digest) | |
154 index of the first message included in a digest | |
155 | |
156 - $digestinterval$ | |
157 (available only in digest) | |
158 indexes of the first and last messages included in a digest (e.g. 1-5), or | |
159 just the index if only a single message is included | |
160 | |
161 - $digestissue$ | |
162 (available only in digest) | |
163 the issue number of the digest | |
164 | |
165 - $digestlast$ | |
166 (available only in digest) | |
167 index of the last message included in a digest | |
168 | |
169 - $digestsubaddr$ | |
170 listname+subscribe-digest@domain.tld | |
171 | |
172 - $digestthreads$ | |
173 (available only in digest) | |
174 the list of threads included in the digest | |
175 | |
176 - $digestunsubaddr$ | |
177 listname+unsubscribe-digest@domain.tld | |
178 | |
179 - $faqaddr$ | |
180 listname+faq@domain.tld | |
181 | |
182 - $helpaddr$ | |
183 listname+help@domain.tld | |
184 | |
185 - $listaddr$ | |
186 listname@domain.tld | |
187 | |
188 - $listgetN$ | |
189 listname+get-N@domain.tld | |
190 (the N here is nothing special, so this won't actually work, but is used to | |
191 explain to users how to use the +get functionality) | |
192 | |
193 - $listowner$ | |
194 listname+owner@domain.tld | |
195 | |
196 - $listsubaddr$ | |
197 listname+subscribe@domain.tld | |
198 | |
199 - $listunsubaddr$ | |
200 listname+unsubscribe@domain.tld | |
201 | |
202 - $maxmailsize$ | |
203 (available only in maxmailsize) | |
204 the maximum size of mail that Mlmmj will accept | |
205 | |
206 - $moderateaddr$ | |
207 (available only in moderation and submod-moderator) | |
208 the address to which to send mail to approve the post or subscription in | |
209 question | |
210 | |
211 - $moderators$ | |
212 (available only in moderation, moderation-poster and submod) | |
213 the formatted list of moderators to whom the moderation request has been sent | |
214 | |
215 - $newsub$ | |
216 (available only in notifysub, notifysub-digest and notifysub-nomail) | |
217 the address that has been subscribed | |
218 | |
219 - $nomailsubaddr$ | |
220 listname+subscribe-nomail@domain.tld | |
221 | |
222 - $nomailunsubaddr$ | |
223 listname+unsubscribe-nomail@domain.tld | |
224 | |
225 - $oldsub$ | |
226 (available only in notifyunsub, notifyunsub-digest and notifyunsub-nomail) | |
227 the address that has been unsubscribed | |
228 | |
229 - $originalmail$ | |
230 the first 100 lines (including headers) | |
231 of the email message being processed (usually a mail being moderated) | |
232 | |
233 - $posteraddr$ | |
234 (available only in subonlypost) | |
235 the from address of the message that was received as determined by Mlmmj | |
236 | |
237 - $subaddr$ | |
238 (available only in submod-moderator and [un]sub-confirm[-digest|-nomail]) | |
239 the address requested to be (un-)subscribed | |
240 | |
741
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
241 - \uNNNN |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
242 (NNNN are hex digits) |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
243 a Unicode character |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
244 (this is not really appropriate for use in a header, except perhaps the |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
245 Subject: header as Mlmmj does automatic quoting for that header as described |
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
246 above) |
738 | 247 |
248 | |
741
b72bcb7e08a2
Arbitrary headers in listtexts, fix default Content-Transfer-Encoding: header,
Ben Schmidt
parents:
738
diff
changeset
|
249 |