For whatever reason, I've had trouble configuring Mailman 2.1.x to either reject or discard attempted postings by non-members to mailing lists.
Sometimes it's a member using a different
email address, but the majority of the time it's
spam or wrongly directed
email. So after a fair amount of poking around, I found a command-line way of doing the deed here.
To summarize, if your list is called "foo" you can do this to export the config to a
file:
config_list -o foo foo
vi foo
Then find the string generic_nonmember_action = 1 and change the 1 to a 2 (reject) or 3 (discard).
Then re-import the
configuration:
config_list -i foo foo
And you should be good to go.
Now if I forget this again in the future, at least I know I can come back to my own
blog to search for it. :-)