# SmartList rc.local file. # Purpose: # Allow the maintainer of a closed list (i.e., foreign_submit is # disabled) to approve mails from non-subscribers in the same # way as approval happens with a moderated list: # By adding an Approved: header with a valid password, and # bouncing the mail back to the list. # # Author: # Hans-Albert Schneider # # Date: June 2001 # # Usage: # Use as (part of) the rc.local.s00 file of the list. # # This recipe is copied from rc.submit (SmartList 1.13.1). # It allows the "Approved: password" to be at the beginning of the # mail body, for those mail clients that do not allow the addition # of arbitrary headers. :0 Bhfw # contract header and body * ^^Approved:.*$^ | formail -X "" # Now we check that the Approved: header is present and contains a # valid password. This check is the very same as in rc.submit; # only the logic is negated (i.e., rc.submit uses !$^Approved:...). # # $moderator_PASSWORD is set in rc.custom. Note that it may be a # regular expression that matches a whole set of passwords. # # You may want to include some delimiters in $moderator_PASSWORD, # e.g.: # moderator_PASSWORD = "{(mail-man|no-spam|SmartList is great)}" # would match the three passwords: # "{mail-man}", "{no-spam}", "{SmartList is great}" # (the braces are part of the passwords, but the quotes are not.) # :0 * $^Approved:.*$moderator_PASSWORD { # A valid Approved: header is present. # For the processing of this special mail, make SmartList # think this list is moderated. This means that this mail # is processed like an approved mail to a moderated list; # especially, the Approved: header is removed. moderated_flag=yes # Also make SmartList think the list is not closed. This # is needed because it does not check the envelope sender # (which is the list maintainer) but the header sender (who # is not subscribed!). foreign_submit=yes }