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