-
-
Notifications
You must be signed in to change notification settings - Fork 3
ezmlm reject.1
ezmlm-reject - reject messages unsuitable for distribution
ezmlm-reject [ -bBcChFfHqQsStT ][ dir ]
ezmlm-reject reads a mail message from its standard input. It rejects the message if it sees something it doesn't like.
If the message has either a ``Precedence: junk'' or a ``Precedence: bulk'' header, ezmlm-reject exits 99 causing the message to be ignored. This causes replies from (some) vacation programs to be ignored.
If dir is specified, ezmlm-reject reads dir*/msgsize*** for a maximum:minimum message body size in bytes. Either number will be ignored if 0 or omitted. ezmlm-reject will also look for dir*/mimereject*** and either dir*/mimekeep*** or dir*/mimeremove***. If dir*/mimereject*** exists, Messages of the Content-Types specified or with MIME parts of these types will be rejected. If dir*/mimekeep*** exists, ezmlm-reject will reject messages of Content-Types other than what is specified. Otherwise if dir*/mimeremove*** exists, ezmlm-reject will reject messages of the Content-Types specified. These content-types will be accepted as parts of a composite MIME message. They will be stripped out later by ezmlm-send(1).
ezmlm-reject will exit 100 (permanent error) for rejections. If the list address is not in the message ``To:'' or ``Cc:'' headers and the -t switch is active, the exit code is 100 or 99, depending on the -q switch (see below). If you would like to forward messages instead of rejecting them, you can into the appropriate .qmail file put:
|condredirect newaddress except /path/ezmlm-reject DIR
Now rejected posts will go to this address, and the recipient can take appropriate action.
ezmlm-reject reads dir*/copylines*** to determine how many lines of the original message to copy into the outgoing message. If this file is empty or not present, a value of 0 is presumed, meaning that only the header is copied.
ezmlm-reject uses ezmlm-queue(1) to send messages. ezmlm-reject 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-reject 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
Reject the message if the message body starts ``subscribe'' or
``unsubscribe''. If the -c switch is specified, messages will also
be rejected if the subject starts with these words.
-B
(Default.) Do not reject messages starting ``subscribe'' or
``unsubscribe''.
-c
(Default.) Commands are not permitted in the Subject line. A Subject
line consisting solely of HELP, REMOVE, SUBSCRIBE, or UNSUBSCRIBE is
rejected.
-C
Commands are permitted in the subject line.
-f
Forward all messages having a command as the subject line to the list's
-request address for processing. This is only effective if -c is
also set.
-F
(Default.) Do not forward command messages.
-h
(Default). Reject message if dir is set, dir*/headerreject***
exists, and any of the headers in that file occur in the header.
Mailing-List headers of other mailing list managers can be put into this
file, one per line, to prevent processing of messages from other mailing
lists. dir must be specified.
A reasonable set of headers would be: ``Mailing-List'', ``X-ml-name'', ``ml-name'',``X-loop'',``X-listprocessor-version'',``X-mailing-list''. Case is not important.
-H
Ignore dir*/headerreject***.
-q
Quiet. If the message due to the lack of the list address (see -t)
is not accepted, this is logged but no error message is sent to the
sender.
-q
Quiet. If a message due to the lack of the list address (see -t) is
not accepted, the message is silently ignored.
-Q
(Default.) Not quiet. If a message due to the lack of the list address
(see -t) is not accepted, the sender is notified by an error
message.
-s
(Default.) A nonempty Subject line is required.
-S
A Subject line is not required.
-t
(Default.) Reject messages that do not have the list address in the
``To:'' or ``Cc:'' header(s). ezmlm-reject needs access to
dir*/outhost*** and dir*/outlocal*** to check this. This check is
silently omitted if dir is not specified, to assure backwards
compatibility with existing ezmlm lists.
-T
Do not require the list address in the ``To:'' or ``Cc:'' header(s).
ezmlm-reject does not handle rfc822 comments in ``Content-Type:'' lines if present before the type or boundary. This could be used to defeat the MIME rejection function. OTOH, this function is intended to reduce garbage, not guarantee its elimination.
Since the MIME parser doesn't decode inner MIME layers of a multipart/* message, mimeremove and mimereject will be applied to the outer MIME layer only.
qmail-multi(1) qmail-queue(1) ezmlm-queue(1), qmail-qmqpc(1) ezmlm-send(1), envdir(8), qmail-command(8),