ezmlm-gate - Gate posts depending on message SENDER
ezmlm-gate [-0cCmMpPrRsSvVyY] [-q file] dir [modsubdir1] [modsubdir2 ...]
ezmlm-gate checks if SENDER is in it least one of the subscriber lists with base directory dir/modsubdir1, dir/modsubdir2, etc. If it is, the message is posted via ezmlm-send to the list in dir. If not, the message is sent for moderation via ezmlm-store. The named subscriber list directories must be either relative to dir or fall within dir.
The default is to send the message for moderation.
|-cCQrR||Passed on to ezmlm-send(1) and ezmlm-store(1).|
|Passed on to ezmlm-store(1).|
|-q file||Execute arbitration programs in file. Lines in file are executed just like in regular .qmail files with the difference that all lines are assumed to be program names. See dot-qmail(5) . Programs are executed by /bin/sh and the message is on stdin of the executed program. The leading ‘‘|’’ is optional. Comments and blank lines are allowed. If a program exits 111, delivery is deferred. If it exits 99, the message is sent to the list. If it exits 0, the next line is executed. If it exits with any other exit code, the message is sent for moderation. Subscriber status per modsubdir1, modsubdir2, etc, is tested only if all the programs have been executed and the final exit code is 0. Thus, programs can cause moderation (100), posting (99), or defer the decision to the next program and ultimately to subscriber status.|
|-0||Instead of running ezmlm-store(1) or ezmlm-send(1), print (to stdout) the command and arguments that would have been run.|
|-v||Display version information.|
|-V||Display version information.|
ezmlm-gate is best used if you want to restrict posts to a set of addresses using SENDER checks. Obviously, this is not secure, but it can help quite a bit to keep garbage off the list. For more secure setups, see ezmlm-store(1) . For other arbitration such as SPAM protection, use the -q option. For instance, invoking ezmlm-reject(1) here would cause failing messages to be sent for moderation rather that being rejected.
Set up the list with a ezmlm-gate line in dir/editor and touch dir/modpost. Add the moderator(s) (usually the list owner):
ezmlm-sub dir mod moderator@host
This will via ezmlm-send directly distribute all posts from subscriber addresses and send out the rest for moderation to the moderator(s) via ezmlm-store. To test several subscriber databases, e.g. the list and the list-digest subscribers, add the corresponding list directories to the ezmlm-gate command line.
This can be expanded to include users that post from addresses other than the one they are subscribed as: just create another directory ’addl’, and a ’subscribers’ subdirectory of it, and add ’addl’ to the ezmlm-gate command line. Now just add all problem addresses to the ’addl’ address database using ezmlm-sub. The entire point is that post from subscribers of any union of list go through, posts from identified ’aliases’ go through and all others go for approval to the list owner. Thus, legitimate users are never rejected and ’aliases’ rapidly identified by the owner/moderator and their handling automated one by one, by simply adding them to ’addl’.