ezmlm-moderate(1) ezmlm-moderate(1) NNAAMMEE ezmlm-moderate - process moderator actions for message acceptance and rejection SSYYNNOOPPSSIISS eezzmmllmm--mmooddeerraattee [[--ccCCmmMMrrRRvvVV]] [[--tt _r_e_p_l_y_-_t_o_@_h_o_s_t]] _d_i_r _[_’_/_p_a_t_h_/_p_r_o_g_r_a_m _a_r_g_s_’_] DDEESSCCRRIIPPTTIIOONN eezzmmllmm--mmooddeerraattee reads a mail message, expecting it to contain an _-_a_c_c_e_p_t or _-_r_e_j_e_c_t action request for the mailing list stored in _d_i_r_. eezzmmllmm--mmooddeerraattee verifies the cookie sent as part of the action request, and if correct attempts to find the corresponding message in _d_i_r//mmoodd//ppeennddiinngg//. If the message is found, it is either rejected or posted to the list, depending on the action request. Posts to the list are handled by piping the message to eezzmmllmm--sseenndd((11)) located in the ezmlm binary directory, as set at compile time. This is usually the directory that ezmlm-moderate resides in. eezzmmllmm--sseenndd((11)) is provided with _d_i_r as the first argument. If the optional second argument is given, eezzmmllmm--mmooddeerraattee pipes the mes- sage to that program, as executed by sh. No parameters are supplied. _d_i_r is passed as an argument to eezzmmllmm--sseenndd((11)), but NOT to any program specified as the optional eezzmmllmm--mmooddeerraattee command line argument. eezzmmllmm--mmooddeerraattee does not bother to correctly set sender. eezzmmllmm--sseenndd((11)) doesn’t care, and any other program that might be used can parse the sender from the first line of the message, which is always _R_e_t_u_r_n_-_P_a_t_h_: _<_a_d_d_r_e_s_s_@_h_o_s_t_._d_o_m_a_i_n_> as build from SENDER originally passed to eezzmmllmm-- ssttoorree((11)). If the message is rejected, an optional moderator comment is copied into the notification to the message sender. A moderator comment is any text in the _-_r_e_j_e_c_t request found between two lines with ‘‘%%%’’ starting in one of the first 5 positions of the line. The easiest is to use lines consisting of ‘‘%%%’’ only. If the characters preceeding the ‘‘%%%’’ are found at the beginning of any lines within the comment, the characters are removed. This is to appropriately ignore any ‘‘quote marks’’ that you mail program might place at the beginning of lines in a reply. eezzmmllmm--mmooddeerraattee messages are sent ‘‘From:’’ _l_i_s_t_-_o_w_n_e_r_@_l_i_s_t_h_o_s_t. This allows the poster to easily complain to the owner of the list, in case s/he objects. An optional ‘‘Reply-To:’’ header can be added via the --rr _r_e_p_l_y_-_t_o_@_h_o_s_t. Once the message has been successfully accepted or rejected, it is removed from _d_i_r//mmoodd//ppeennddiinngg// and a stub is created in _d_i_r//mmoodd//aacccceepptteedd// or _d_i_r//mmoodd//rreejjeecctteedd//, respectively. This is done in order to be able to notify the senders of later moderation requests about the fate of the message. A failure to find the message in _d_i_r//mmoodd//ppeennddiinngg// is most often caused by the message already having been accepted or rejected by another mod- erator. Therefore, eezzmmllmm--mmooddeerraattee looks in _d_i_r//mmoodd//aacccceepptteedd// and _d_i_r//mmoodd//rreejjeecctteedd// for a message stub. If found, eezzmmllmm--mmooddeerraattee notifies the sender in the form of a fatal error if the fate of the message was different from that intended by the current action request. Otherwise, the fate of the message is silently logged. If the message is not found, it has timed out and the message or the message stub has been removed by eezzmmllmm--cclleeaann((11)). In this case, eezzmmllmm-- mmooddeerraattee notifies the moderator of the failure, but can no longer dis- cern the fate of the original message. Again, notification is in the form of a fatal error from qmail. At the beginning of the message, eezzmmllmm--mmooddeerraattee prints a new MMaaiilliinngg-- LLiisstt field with the contents of _d_i_r//mmaaiilliinngglliisstt. It rejects the mes- sage if there is already a MMaaiilliinngg--LLiisstt field. eezzmmllmm--mmooddeerraattee does not distribute bounce messages: if the environment variable SSEENNDDEERR is set, and is either empty or ##@@[[]], eezzmmllmm--mmooddeerraattee rejects the message. OOPPTTIIOONNSS --ccCCrrRR Passed on to ezmlm-send(1). --mm (Default.) The rejected post is sent as a MIME enclosure. --MM The rejected post is appended to the message. --tt _r_e_p_l_y_-_t_o_@_h_o_s_t A ‘‘Reply-To: _r_e_p_l_y_-_t_o_@_h_o_s_t’’ header will be added to the moder- ation request. --vv Display eezzmmllmm--mmooddeerraattee version information. --VV Display eezzmmllmm--mmooddeerraattee version information. CCHHAARRAACCTTEERR SSEETTSS If _d_i_r//cchhaarrsseett exists, eezzmmllmm--mmooddeerraattee will use the character set listed for all messages. Otherwise, the default ‘‘us-ascii’’ will be used. The character set can be suffixed by ‘‘:’’ fol- lowed by a code. If the code is ‘‘Q’’, outgoing messages are sent as ‘‘Quoted-Printable’’, if it is ‘‘B’’ they are sent ‘‘base64’’ encoded. Otherwise, text is sent as is. SSEEEE AALLSSOO ezmlm-clean(1), ezmlm-make(1), ezmlm-send(1), ezmlm-store(1), ezmlm(5) ezmlm-moderate(1)