Import ezmlm-idx 0.40
[ezmlm] / ezmlm-manage.1
1 .TH ezmlm-manage 1
2 .SH NAME
3 ezmlm-manage \- automatically manage a mailing list
4 .SH SYNOPSIS
5 .B ezmlm-manage [-bBcCdDeEfFlLmMsSqQuUvV]
6 .I dir
7 .SH DESCRIPTION
8 .B ezmlm-manage
9 handles administrative requests for the mailing list
10 stored in
11 .IR dir ,
12 as well as for the associated digest list.
13
14 .B ezmlm-manage
15 is normally invoked from a
16 .B .qmail
17 file.
18 It reads a mail message from its standard input,
19 and a mail envelope from the
20 .BR SENDER ,
21 .BR LOCAL ,
22 and
23 .BR HOST
24 environment variables.
25
26 .B ezmlm-manage
27 expects
28 .B LOCAL
29 to be of the form
30 .IR list\fB-\fIaction\fB-\fIbox\fB=\fIdomain .
31 Here
32 .I list
33 is the first line of
34 .IR dir\fB/inlocal ,
35 .I action
36 is a request,
37 and
38 .I box\fB@\fIdomain
39 is the target of the request.
40 .B ezmlm-manage
41 sends a response to the target.
42 It attaches the original message to the end of its response.
43
44 .B LOCAL
45 may instead be of the form
46 .IR list\fB-\fIaction .
47 Then the envelope sender
48 is used as the target.
49
50 .B ezmlm-manage
51 expects
52 .B HOST
53 to match the first line of
54 .IR dir\fB/inhost .
55
56 If
57 .I list
58 is the first line of
59 .IR dir\fB/inlocal
60 followed by ``-digest'', the request is assumed to be for the
61 associated digest list.
62 .B ezmlm-manage
63 handles these requests similarly, except that digest list subscriber addresses
64 are stored in
65 .IR dir\fB/digest/subscribers ,
66 rather than in
67 .IR dir\fB/subscribers .
68
69 If
70 .I list
71 .IR dir\fB/inlocal
72 followed by ``-allow'', the request is assumed to be for the
73 associated
74 .I dir\fB/allow/
75 database. This database is used to store aliases of subscribers for lists
76 allowing only posts only if the envelope sender is a subscriber.
77 Actions on the
78 .I dir\fB/allow/
79 database follow the same rules as for the main list. The ezmlm messages are
80 the same as those used for normal subscription, but refer to the
81 .I list\fB-allow@\fIhost
82 list. As this feature is designed for advanced uses and remote administrators
83 only, this is not a problem.
84 .B NOTE:
85 No message is sent out to confirm additions to or removals from this
86 database. However, the user can
87 verify the change using the
88 .I query
89 action.
90 The
91 .I list\fB-deny
92 addresses similarly controls
93 .I dir\fB/deny/
94 database for blocking posts with certain envelope senders.
95 This database is available
96 to remote administrators only, and only if the list has been set up with
97 this feature (see
98 .BR ezmlm-manage(1) ).
99 .B NOTE:
100 No message is sent out to confirm additions to or removals from this database.
101 However, the remote admin can
102 verify the change using the
103 .I query
104 action.
105
106 .B ezmlm-manage
107 copies
108 .I dir\fB/mailinglist
109 into a
110 .B Mailing-List
111 field in its response.
112 If the incoming message has a
113 .B Mailing-List
114 field,
115 .B ezmlm-manage
116 refuses to respond.
117 .B ezmlm-manage
118 also refuses to respond to bounce messages.
119 .SH OPTIONS
120 .TP 5
121 .B \-b
122 (Default.)
123 .B ezmlm-manage
124 will add general instructions and the request to the outgoing message.
125 .TP 5
126 .B \-B
127 .B ezmlm-manage
128 will not add general instructions and the request to the outgoing message.
129 This information gives the recipient of a confirmation request some
130 information about the inciting message. Use of this switch will deny the
131 recipient that information.
132 .TP 5
133 .B \-c
134 (Default.)
135 .B ezmlm-manage
136 will reply to
137 .I \-get
138 commands.
139 .TP
140 .B \-C
141 .B ezmlm-manage
142 will not reply to
143 .I \-get
144 commands. This is useful for closed lists, where the owner for
145 some reason wants to keep an archive, without making it available.
146 .TP 5
147 .B \-d
148 Alias for the
149 .B \-e
150 switch for backwards compatibility.
151 .TP 5
152 .B \-D
153 Alias for the
154 .B \-E
155 switch for backwards compatibility.
156 .TP 5
157 .B \-e
158 .B ezmlm-manage
159 allows remote administrators to edit files in
160 .I dir\fB/text/
161 via E-mail.
162 .TP 5
163 .B \-E
164 (Default.)
165 Text file editing not allowed.
166 .TP 5
167 .B \-f
168 (Default.)
169 The information in the ``From:'' is extracted from subscribe confirm
170 messages and added to
171 .I dir\fB/Log
172 together with the subscriber address. This makes it easier for the list owner
173 to help a subscriber who cannot determine his/her subscription address. If the
174 .B \-S
175 switch is used, the information is instead extracted from the subscribe
176 request.
177 .TP 5
178 .B \-F
179 Ignore ``From:'' headers.
180 .TP 5
181 .B \-l
182 .B ezmlm-manage
183 will send a subscriber list in reply to the
184 .I \-list
185 command and
186 the number of subscribers in reply to the
187 .I \-listn
188 comman if
189 .I dir\fB/modsub
190 or
191 .I dir\fB/remote
192 exist and target (the address the reply is to be sent to) is a moderator.
193 .TP 5
194 .B \-L
195 (Default.)
196 .B ezmlm-manage
197 will ignore the
198 .I \-list
199 and
200 .I \-listn
201 commands.
202 .TP 5
203 .B \-m
204 For lists with moderated subscription, require moderator approval also
205 for unsubscribe requests. Remote admins are normally informed about
206 unsuccessful unsubscribes. This creates problems when there is more
207 than one moderator. Therefore, when the
208 .B \-m
209 switch is used, the notification is suppressed. Moderators can still
210 determine the result by using the
211 .I \-query
212 command.
213 .TP 5
214 .B \-M
215 (Default.)
216 Requests to unsubscribe from moderated lists do not require moderator approval.
217 .TP 5
218 .I \-n
219 (Default.)
220 Target addresses
221 will be notified if the are added or removed from the subscriber list.
222 .TP 5
223 .I \-N
224 Target addresses will not be notified if they are added/removed from the
225 subscriber list by remote admin or moderator action. Also, the target will
226 not be notified if they were successfully added/removed when the
227 .B \-S
228 and
229 .B \-U
230 switches, respectively, are used.
231 .TP 5
232 .B \-q
233 (Default.)
234 Quiet. The list-owner is not notified of subscription events.
235 .TP 5
236 .B \-Q
237 The list-owner is notified about failed unsubscribe attempts. Usually, these
238 are from subscribers that do not remember their subscription address and
239 require administrative assistance. Remote admins are notified when a unsubscribe
240 request initiated by them fails. Thus, the owner is not notified about these
241 events even if the
242 .B \-Q
243 switch is used.
244 .TP 5
245 .B \-QQ
246 As for
247 .BR \-Q ,
248 and in addition, the list-owner is notified about all additions to or removals
249 from the subscriber database. This is sometimes desired by owners of small
250 lists.
251 .TP 5
252 .B \-s
253 (Default.)
254 .B ezmlm-manage
255 will handle subscriptions with the normal target handshake.
256 .TP 5
257 .B \-S
258 .B ezmlm-manage
259 will eliminate the target handshake from the subscription
260 process. This allows anyone to subscribe anybody else. DO NOT use this
261 option, unless you know what you are doing. This option may be useful for
262 some moderated lists.
263 .TP 5
264 .B \-u
265 (Default.)
266 .B ezmlm-manage
267 will handle unsubscribe requests with the normal target
268 handshake.
269 .TP 5
270 .B \-U
271 .B ezmlm-manage
272 will eliminate the target handshake from the unsubscription
273 process. This allows anyone to unsubscribe anybody else. DO NOT use this
274 option, unless you know what you are doing.
275 .TP 5
276 .B \-v
277 Display
278 .B ezmlm-manage
279 version information.
280 .TP 5
281 .B \-V
282 Display
283 .B ezmlm-manage
284 version information.
285 .SH "CHARACTER SETS"
286 If
287 .I dir\fB/charset
288 exists,
289 .B ezmlm-manage
290 will use the character set listed for all messages. Otherwise, the
291 default ``us-ascii'' will be used. The character set can be suffixed
292 by ``:'' followed by a code. If the code is ``Q'', outgoing messages are
293 sent as ``Quoted-Printable'', if it is ``B'' they are sent ``base64'' encoded.
294 Otherwise, text is sent as is.
295
296 Incoming text for the
297 .I \-edit
298 is accepted unencoded or in either of these encodings.
299 .SH SUBSCRIPTIONS
300 If
301 .I action
302 is
303 .BR sc.\fIcookie ,
304 where
305 .I cookie
306 is an appropriate code
307 (depending on the target, the approximate time, and other factors),
308 .B ezmlm-manage
309 adds the target to the mailing list
310 if subscriptions are not moderated.
311 For subscription moderated lists,
312 .B ezmlm-manage
313 sends a confirmation request to the moderators with the right
314 .BR tc.\fIcookie
315 address in its response.
316
317 If
318 .I action
319 is
320 .BR tc.\fIcookie ,
321 where
322 .I cookie
323 is an appropriate code
324 (depending on the target, the approximate time, and other factors),
325 .B ezmlm-manage
326 adds the target to the mailing list. If the target was not already a
327 subscriber, a welcome message is sent to the target.
328
329 If
330 .I action
331 is
332 .BR subscribe ,
333 .B ezmlm-manage
334 does not subscribe the target,
335 but it identifies the right
336 .BR sc.\fIcookie
337 address in its response.
338
339 This confirmation mechanism
340 (1) verifies that the target is reachable
341 and
342 (2) protects the target against forged subscription requests.
343
344 Actions of
345 .B uc.\fIcookie
346 and
347 .B unsubscribe
348 are used in the same way to delete the target from the mailing list.
349 Unsubscribes do not require moderator confirmation.
350
351 Actions of
352 .B vc.\fIcookie
353 are used to confirm moderator-initiated unsubscribes for lists configured
354 with remote administration (see MODERATION).
355
356 If
357 .I action
358 is
359 .BR query ,
360 .B ezmlm-manage
361 returns a message to the target indicating whether or not the target address
362 is a subscriber.
363
364 If
365 .I action
366 is
367 .B info
368 or
369 .BR faq ,
370 .B ezmlm-manage
371 returns the contents of
372 .I dir\fB/text/info
373 or
374 .IR dir\fB/text/info ,
375 respectively.
376
377 If
378 .I dir\fB/public
379 does not exist,
380 .B ezmlm-manage
381 rejects all subscription and unsubscription attempts.
382 However, if the list is configured with remote administration,
383 moderator-initiated subscribe and unsubscribe requests will still be
384 honored. Also, if
385 .I action
386 is
387 .IR help ,
388 .B ezmlm-manage
389 will still send help.
390 .SH "TEXT FILE EDITING"
391 If
392 .I action
393 is
394 .BR edit ,
395 the
396 .B \-e
397 switch is used, and the target address is that of a remote administrator,
398 .B ezmlm-manage
399 will reply with a list of editable file in
400 .I dir\fB/text/
401 and instructions for editing. Cookies for editing expire approximately 27.8
402 hours after they are issued, or when a file has been changed, whichever is
403 sooner. The size of the updated file is limited to 5120 bytes.
404
405 If
406 .I action
407 is
408 .BR edit.\fIfile ,
409 the
410 .B \-e
411 switch is used, and the target address is that of a remote administrator,
412 .B ezmlm-manage
413 will return an editable copy of
414 .IR file .
415
416 If
417 .I action
418 is
419 .BR ed.\fIcookie ,
420 .B ezmlm-manage
421 will verify that the edit cookie is still valid and that the file has
422 not been modified since the cookie was issued. If the cookie passes
423 these tests,
424 .B ezmlm-manage
425 will update
426 .IR dir\fB/text\fI/file .
427 .SH "ARCHIVE RETRIEVALS"
428 If
429 .I action
430 is
431 .BR get.\fInum ,
432 .B ezmlm-manage
433 sends back message
434 .I num
435 from
436 .IR dir\fB/archive/ .
437 This can be disabled with the
438 .B \-C
439 command line switch.
440
441 If
442 .I dir\fB/public
443 does not exist,
444 .B ezmlm-manage
445 rejects all archive retrieval attempts.
446 .SH MODERATION
447 If
448 .I dir\fB/modsub
449 exists, subscriptions are moderated. Users can
450 unsubscribe without moderator action, but moderator confirmation is required
451 for subscriptions.
452
453 If
454 .I dir\fB/modsub
455 starts with a forward slash, it is assumed that the content this is the base
456 directory for the moderator database (
457 .IR moddir ).
458 Otherwise,
459 .I moddir
460 is assumed to be
461 .IR dir\fB/mod/ .
462
463 The moderator names are assumed
464 to be stored in a set of files in
465 .IR /moddir\fB/subscribers/ .
466
467 I to add, remove, and list moderators, use respectively:
468
469 .EX
470 .B ezmlm-sub
471 .I moddir
472 .IR user@host
473 .EE
474
475 .EX
476 .B ezmlm-unsub
477 .I moddir
478 .IR user@host
479 .EE
480
481 .EX
482 .B ezmlm-list
483 .I moddir
484 .EE
485
486 Subscription requests from potential
487 subscribers will be sent for a second round of confirmation to all the
488 moderators.
489 If a moderator approves the request, a message confirming the
490 subscription will be sent to the subscriber. The
491 subscriber will not know which moderator approved the subscription.
492
493 If more than one moderator replies to the confirmation request, the subscriber
494 will not receive duplicate messages about being on (or not on) the mailing list.
495
496 Unsubscribe requests from users are handled as for non-moderated lists.
497
498 All subscribe confirmation requests requiring moderator action have a subject of
499 .B CONFIRM subscribe to\fI listname@host.
500 All unsubscribe confirmation requests in reply to moderator-initiated
501 unsubscribe dialogs have a subject of
502 .B CONFIRM unsubscribe from\fI listname@host.
503
504 If
505 .I dir\fB/remote
506 exists (remote administration), moderators can initiate a request to
507 subscribe a user 'username@userhost' by sending mail to
508 .IR listname-subscribe\fB\-username=userhost\fI@host .
509 The moderator (not the subscriber) will receive the confirmation request,
510 and can complete the transaction. Moderators' request to unsubscribe
511 users are handled analogously. Once an address is successfully added to
512 or removed from the subscriber database by a moderator or remote admin,
513 the user is notified of the action. If a moderator or remote admin's subscribe
514 confirmation does not result in a change, i.e. if the address already was a
515 subscriber, no notification is sent. If a remote admin's
516 unsubscribe confirmation does not result in a change, i.e. the address was
517 not a subscriber, a notification is sent to the remote admin. This is to make
518 the remote admin aware that the address unsubscribed most likely is not the
519 subscriber's subscription address.
520
521 .I dir\fB/remote
522 starts with a forward slash, it is assumed that the content this is the base
523 directory for the moderator database (
524 .IR moddir ).
525 The moderator names are assumed
526 to be stored in a set of files in
527 .IR /moddir\fB/subscribers/ .
528 If both
529 .I dir\fB/modsub
530 and
531 .I dir\fB/remote
532 exist, and both contain directory names, the directory name in
533 .I dir\fB/modsub
534 is used, and the
535 .I dir\fB/remote
536 entry is ignored.
537
538 It is possible to set up
539 a mailinglist for moderators only by using
540 .I dir\fB/mod/
541 as the list directory. Make sure that such a list is not public! Otherwise,
542 anyone can become a moderator by subscribing to this list.
543
544 If action is
545 .B \-help
546 and target is a moderator,
547 .B ezmlm-manage
548 will in addition to the usual help send
549 .I dir\fB/text/mod-help
550 containing instructions for moderators.
551
552 If action is
553 .B \-list
554 and target is a moderator, the list is set up for subscription moderation
555 or remote administration, and the
556 .I \-l
557 command line switch is used,
558 .B ezmlm-manage
559 will reply with an unsorted subscriber list. Extensions for digest subscribers
560 and auxillary databases are supported (see above).
561
562 If action is
563 .BR \-log ,
564 .B ezmlm-manage
565 will reply with the contents of the
566 .I Log
567 file with the same access restrictions as for the
568 .B \-list
569 action.
570 .SH "SEE ALSO"
571 ezmlm-make(1),
572 ezmlm-return(1),
573 ezmlm-send(1),
574 ezmlm-sub(1),
575 ezmlm-unsub(1),
576 ezmlm-list(1),
577 ezmlm(5),
578 qmail-command(8)