-
-
Notifications
You must be signed in to change notification settings - Fork 3
ezmlm store.1
ezmlm-store - store messages posted to a moderated lists and send moderation requests to the moderator(s).
ezmlm-store [-bBcCmMpPrRsSvVyY] dir
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.
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.
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.
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.
ezmlm-store uses ezmlm-queue(1) to send messages. ezmlm-store sets environment variables from /etc/indimail/ezmlm/global_vars. This can be used to set queue related variables for ezmlm-queue. If /etc/indimail/ezmlm/global_vars exists, existing environment variables are cleared except for EZMLM_ETC, EZMLMQUEUE, QMAILQUEUE. The clearing/setting of environment variables is done like how envdir(1) works.
If /etc/indimail/control*/qmqpservers*** exists, ezmlm-store will use qmail-qmqpc(1) to send messages. Server IP addresses listed one per line in /etc/indimail/control*/qmqpservers*** will be tried in order.
-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.
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).
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.
ezmlm-clean(1), ezmlm-confirm(1), ezmlm-manage(1), ezmlm-make(1), ezmlm-moderate(1), qmail-multi(1) qmail-queue(1) ezmlm-queue(1), qmail-qmqpc(1) envdir(8), ezmlm(5),