I am using Mailman with Exim. When a nonmember posts to a mailing list, Mailman can be configured in any of the following ways, each of which has a problem:
- Accept it -- this distributes spam to all the list members.
- Discard it silently -- this is frustrating and confusing to people who send mail from a secondary address, not realizing it's not the one they're subscribed at.
- Hold it for moderation -- this creates a significant workload for the moderator to sift through the spam looking for the few non-spams. If the moderator slacks off, we are effectively back in case (2).
- Reject it with a bounce message -- this creates backscatter spam.
It seems to me that the best option would be to do the same thing that Exim does when someone tries to send mail to a nonexistent address: reject it at SMTP connection time with an error code. This way real users will be informed about the problem by their sending MTA, while spam with a forged sender will not create backscatter. Is it possible to configure Exim to query Mailman in this way and reject nonmember list postings at SMTP time?