Mailing List Archive

Limiting posting to mailing lists
Patrick Michael Kane writes:
> Greets.
>
> I'd like to setup a mailing list where only a single e-mail address is
> allowed to send messages to the list. I realize that this is easy to
> circumvent, but for my purposes it is adequate. How can one accomplish
> this using qmail?

If you wish to limit posting to mailing lists, you need to put a
filter (program) into head of the mailing list file. If you're using
qlist, you need my qlist patch from www.qmail.org. If at all
possible, the moderator should sign the messages with pgp, and the
filter should invoke pgp like this:

|if grep "^-----BEGIN PGP MESSAGE-----$"; then exit 0; else exit 100; fi
|if grep "^-----END PGP MESSAGE-----$"; then exit 0; else exit 100; fi
|if pgp -f; then exit 0; else exit 100; fi
+list
&address
&address
...

The pgp keyring for that user (presumably alias) should only have keys
for the users allowed to post to the list. Or else specify a keyring
file which only has those keys.


Another possible filter appears below. This filter checks to see if
the mail has arrived most recently from qmail-smtpd, or from a local
user. Mail from the local user goes through, but mail from the remote
site gets bounced.

|if grep Received: | tail +1l | grep network; then echo "This is a moderated list"; exit 100; fi
+list
&address
&address
...

If the moderator isn't the only user on the machine, you can give him
a secret alias (but remember to chmod 700 ~alias) which forwards the
mail to the list:

|grep -v '^Delivered-To:' | forward LISTNAME

You have to delete the Delivered-To: lines, otherwise it gives away
the secret alias.

--
-russ <nelson@crynwr.com> http://www.crynwr.com/~nelson
Crynwr Software sells network driver support | PGP ok
521 Pleasant Valley Rd. | +1 315 268 1925 voice | Peace, Justice, Freedom:
Potsdam, NY 13676-3213 | +1 315 268 9201 FAX | pick two (only mostly true)