Import ezmlm-idx 0.40
[ezmlm] / ezmlm-moderate.1
1 .TH ezmlm-moderate 1
2 .SH NAME
3 ezmlm-moderate \- process moderator actions for message
4 acceptance and rejection
5 .SH SYNOPSIS
6 .B ezmlm-moderate [-cCmMrRvV]
7 .B [-t\fI reply-to@host\fB]
8 .I dir ['/path/program args']
9
10 .SH DESCRIPTION
11 .B ezmlm-moderate
12 reads a mail message, expecting it to contain an
13 .I -accept
14 or
15 .I -reject
16 action request for the mailing list stored in
17 .I dir.
18
19 .B ezmlm-moderate
20 verifies the cookie sent as part of the action request, and if correct
21 attempts to find the corresponding message in
22 .IR dir\fB/mod/pending/ .
23 If the message is found, it is either rejected or posted to the list,
24 depending on the action request.
25
26 Posts to the list are handled by
27 piping the message to
28 .B ezmlm-send(1)
29 located in the ezmlm binary directory, as set at compile time. This is
30 usually the directory that ezmlm-moderate resides in.
31 .B ezmlm-send(1)
32 is provided with
33 .I dir
34 as the first argument.
35
36 If the optional second argument is given,
37 .B ezmlm-moderate
38 pipes the message to that program, as executed by sh.
39 No parameters are supplied.
40
41 .I dir
42 is passed as an argument to
43 .BR ezmlm-send(1) ,
44 but NOT to any program specified as the optional
45 .B ezmlm-moderate
46 command line argument.
47
48 .B ezmlm-moderate
49 does not bother to correctly set sender.
50 .B ezmlm-send(1)
51 doesn't care, and any other program that might be used can parse the
52 sender from the first line of the message, which is always
53 .I Return-Path: <address@host.domain>
54 as build from SENDER originally passed to
55 .BR ezmlm-store(1) .
56
57 If the message is rejected, an optional moderator comment is copied into the
58 notification to the message sender.
59 A moderator comment is any text in the
60 .I -reject
61 request found between two lines with ``%%%'' starting in one of the first
62 5 positions of the line. The easiest is to use lines consisting of ``%%%''
63 only. If the characters preceeding the ``%%%'' are found at the beginning
64 of any lines within the comment, the characters are removed. This is to
65 appropriately ignore any ``quote marks'' that you mail program might place at
66 the beginning of lines in a reply.
67
68 .B ezmlm-moderate
69 messages are sent ``From:''
70 .IR list-owner@listhost .
71 This allows the poster to easily complain to the owner of the list, in case
72 s/he objects. An optional ``Reply-To:'' header can be added via the
73 .BR \-r\fI\ reply-to@host .
74
75 Once the message has been successfully accepted or rejected, it is removed from
76 .I dir\fB/mod/pending/
77 and a stub is created in
78 .I dir\fB/mod/accepted/
79 or
80 .IR dir\fB/mod/rejected/ ,
81 respectively.
82 This is done in order to be able to notify the senders of later moderation
83 requests about the fate of the message.
84
85 A failure to find the message in
86 .I dir\fB/mod/pending/
87 is most often caused by the message already having been accepted or rejected
88 by another moderator. Therefore,
89 .B ezmlm-moderate
90 looks in
91 .I dir\fB/mod/accepted/
92 and
93 .I dir\fB/mod/rejected/
94 for a message stub. If found,
95 .B ezmlm-moderate
96 notifies the sender in the form of a fatal error
97 if the fate of the message was different from
98 that intended by the current action request.
99 Otherwise, the fate of the message is silently logged.
100
101 If the message is not found, it has timed out and the message or
102 the message stub has been removed by
103 .BR ezmlm-clean(1) .
104 In this case,
105 .B ezmlm-moderate
106 notifies the moderator of the failure, but can no longer discern the fate
107 of the original message. Again, notification is in the form of a fatal
108 error from qmail.
109
110 At the beginning of the message,
111 .B ezmlm-moderate
112 prints a new
113 .B Mailing-List
114 field with the contents of
115 .IR dir\fB/mailinglist .
116 It rejects the message if there is already a
117 .B Mailing-List
118 field.
119
120 .B ezmlm-moderate
121 does not distribute bounce messages:
122 if the environment variable
123 .B SENDER
124 is set, and is either empty or
125 .BR #@[] ,
126 .B ezmlm-moderate
127 rejects the message.
128 .SH OPTIONS
129 .TP
130 .B \-cCrR
131 Passed on to ezmlm-send(1).
132 .TP
133 .B \-m
134 (Default.)
135 The rejected post is sent as a MIME enclosure.
136 .TP
137 .B \-M
138 The rejected post is appended to the message.
139 .TP
140 .B \-t\fI reply-to@host
141 A ``Reply-To:
142 .IR reply-to@host ''
143 header will be added to the moderation request.
144 .TP
145 .TP
146 .B \-v
147 Display
148 .B ezmlm-moderate
149 version information.
150 .TP
151 .B \-V
152 Display
153 .B ezmlm-moderate
154 version information.
155 .SH "CHARACTER SETS"
156 If
157 .I dir\fB/charset
158 exists,
159 .B ezmlm-moderate
160 will use the character set listed for all messages. Otherwise, the
161 default ``us-ascii'' will be used. The character set can be suffixed
162 by ``:'' followed by a code. If the code is ``Q'', outgoing messages are
163 sent as ``Quoted-Printable'', if it is ``B'' they are sent ``base64'' encoded.
164 Otherwise, text is sent as is.
165 .SH "SEE ALSO"
166 ezmlm-clean(1),
167 ezmlm-make(1),
168 ezmlm-send(1),
169 ezmlm-store(1),
170 ezmlm(5)