Approver: A Majordomo Approval Preprocessor

Approver is a set of Perl and Bourne shell scripts that adds the following capabilities to a moderated Majordomo mailing list:

Download Approver v0.11 Files

Installation and Configuration

The following 3 commands must be installed in the Majordomo root directory:

Note: DEMIME is obtained from DEMIME Download Page. Approver has been tested with version 1.1d of DEMIME.

Approver consists of two scripts: the Bourne shell script rmmime and the Perl script approved. rmmime is installed as a sendmail alias, and is a direct replacement for the Majordomo resend command. Here is an example sendmail aliases entry using rmmime:

test-list: "|/etc/smrsh/wrapper rmmime '-l test-list -h yourdomain.org test-list-outgoing'"

Note: If you already have DEMIME installed and configured in your environment, you may want to disable the --noadremove option in rmmime. Simply edit rmmime and comment out the ADREMOVE= line.

To enable the mailing list pre-approval, you must create two configuration files:

Note: For every hosted mailing list you must create these two files, replacing list-example with the name of your mailing list.

list-example.cf contains the mailing list approval password. Here is an example list-example.cf file:

#
# Example mailing list configuration file. Now there is only
# one configuration variable recognized: APPROVED_STRING.
# This parameter sets the string inserted into the the first
# line of the body of mail messages for Majordomo moderated 
# list auto approval.
#
$APPROVED_STRING = "approved: password\n\n";

Replace password with the actual password for your mailing list. Do not disturb the syntax of the rest of this line. This is interpreted as a Perl assignment statement, and you could introduce a syntax error unless you are careful.

list-example.approved contains the e-mail addresses of people allowed to post directly to the moderated list without Moderator intervention. List a single e-mail address per line. No blank lines or comments are allowed in this file.

Approver assumes your Majordomo installation is located in /usr/majordomo, and your mailing lists are configured under /usr/majordomo/lists. If this is not the case, you can either install a /usr/majordomo symbolic link pointing to your Majordomo root directory, or directly modify the approved script. Note: If your mailing lists are not configured under $MAJORDOMO/lists, you must directly modify the approved script.

Files

Known Issues

Copyright (c) 2005, Adam Bernstein, All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
  
    * Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
    * Neither the name of Adam Bernstein nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.