ezmlm-store(1)

NAME
ezmlm-store - store messages posted to a moderated lists and send moderation requests to the moderator(s).

SYNOPSIS
ezmlm-store [-bBcCmMpPrRsSvVyY] dir

DESCRIPTION
ezmlm-store stores a main message sent to a ezmlm mailing list awaiting message moderation or user confirmation. If the -y option is set, or dir/confirmpost exists and the -Y option is not set, it works in user confirmation mode. Otherwise if dir/modpost exists, it works in message moderation mode. Otherwise the message is passed on to ezmlm-send(1). If either dir/modpostonly exists or the -P option is set, only moderators will be allowed to post. Posts from other addresses are bounced.

USER CONFIRMATION
ezmlm-store reads a mail message and stores it in dir/mod/unconfirmed/. ezmlm-store also sends a user confirmation request with a copy of the message to the envelope sender of the message. The confirm request includes cookies for message rejection and acceptance. The sender can take either action by replying to the appropriate address. For user convenience, the confirm address is given in the ``Reply-To:'' header. Once the confirmation request has been successfully sent, ezmlm-store sets the owner-execute bit of the message in dir/mod/unconfirmed/. Messages without this bit set are the result of incomplete executions of ezmlm-store and are ignored.

MODERATION
ezmlm-store reads a mail message and stores it in dir/mod/pending/. ezmlm-store also sends a moderation request with a copy of the message to the list of moderators stored in dir/mod/subscribers/. If dir/modpost contains a directory name, moddir, with a leading forward slash, the moderator list in /moddir/subscribers/ is used instead. This allows separate sets of moderators for subscription and message moderation, as well as the use of the same moderator list for several ezmlm mailing lists, owned by the same user. If the -s switch is used, the moderators are divided into two sets. Those pointed to by dir/modpost which will receive confirmation requests for posts with their SENDER address, and those stored with the base directory dir/mod/ which will receive moderation requests for messages posted from SENDERs not part of the first group. This can be used to have a set of trusted users (``moderating'' themselves to thwart SENDER faking), and a set of more traditional moderators, which receive approval requests for other posts. Note: The contents of dir/modpost do not affect the location of the message moderation queue. If SENDER is a moderator, the request is sent to that moderator only. The moderation request includes cookies for message rejection and acceptance. The moderator can take either action by replying to the appropriate address. For moderator convenience, the accept address is given in the ``Reply-To:'' header, and the reject address in the ``From:'' header. If the list is set up with remote administration and the sender is not a moderator, the ``Cc:'' header will contain a confirmation address to add the sender to the ``allow'' database. This allows the moderator to both approve the post and add the sender to the list of accepted posters by replying to ``all''. The default subject of all message moderation requests is MODERATE for listname@host. The default subject of all message confirmation requests is Confirm post to listname@host. Once the request has been successfully sent to the moderators, ezmlm-store sets the owner-execute bit of the message in dir/mod/pending/. Messages without this bit set are the result of incomplete executions of ezmlm-store and are ignored.

CONFIRMATION AND MODERATION MESSAGES
At the beginning of the message, ezmlm-store prints a new Mailing-List field with the contents of the TXT_MAILING_LIST message. It rejects the message if there is already a Mailing-List field. ezmlm-store does not distribute bounce messages: if the environment variable SENDER is set, and is either empty or #@[], ezmlm-store rejects the message. If dir/qmqpservers exists, ezmlm-store will use qmail-qmqp(1) to send messages.

OPTIONS

-b  (Default.) With the moderation request, send both headers and body of the message to be moderated.

-B  With the moderation request, send header, but not body of the message to be moderated. This may be useful if moderation is used to allow one or a few poorly connected addresses to post, and posts are very large (e.g. when the list is used as a distribution channel of e.g. catalogs).

-cCrR
    Passed on to ezmlm-send(1) in case this program is executed. This happens only if neither dir/modpost nor dir/confirmpost exist.

-m  (Default.) The post is sent as a MIME enclosure.

-M  The post is appended to the message.

-s  The contents of dir/modpost with the default dir/mod/ are used as the base directory for self-approving users, whereas dir/mod/ is used as the base directory for the moderators to whom approval requests for other posts are sent.

-S  (Default.) The contents of dir/modpost with the default dir/mod/ are used as the base directory for the moderators for all moderator functions.

-p  (Default.) Anyone can post. Posts that are not from a moderator are sent out to all moderators for approval. Posts that are from a moderator are sent only to that moderator. This is the default unless the dir/modpostonly file exists.

-P  Only moderators can post. Those posts are sent to the posting moderator for approval. Posts from other addresses are bounced. This can be used to relatively securely restrict posts to messages originating from a given set of addresses.

-y  Run in post confirmation mode even if dir/confirmpost does not exists.

-Y  Ignore dir/confirmpost. (This option is useful if ezmlm-store is called after post confirmation, to allow message moderation.)

-v  Display ezmlm-store version information.

-V  Display ezmlm-store version information.

USAGE
First of all, remember that ezmlm-store will simply execute ezmlm-send(1) unless dir/modpost exists, dir/confirmpost exists, or -y option is specified. For the switches, use -P for lists where only moderators can post securely, i.e. they are asked to approve their own posts after posting, whereas other SENDERs are rejected. For low-security more convenient versions of this type of restriction, see ezmlm-gate(1). Normally (no switches), posts from moderators are sent for approval only to the sending moderator, whereas posts from other addresses are sent to all moderators. Thus, you can set up an announcement list by adding all potential posters as moderators. However, you may also want to allow others to post, as long as the posts are approved. This would be default ezmlm-store function. To make the set of ``approved posters'' who approve their own posts, different from the set of addresses that approve posts from other users, use the -s switch. Add a directory name to dir/modpost. This directory is the base directory of the ``approved posters'' database. Add the moderators for other posts to dir/mod/ using ezmlm-sub(1).

CHARACTER SETS
If dir/charset exists, ezmlm-store will use the character set listed for all messages. Otherwise, the default ``us-ascii'' will be used. The character set can be suffixed by ``:'' followed 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.

SEE ALSO
ezmlm-clean(1), ezmlm-confirm(1), ezmlm-manage(1), ezmlm-make(1), ezmlm-moderate(1), ezmlm(5)