I am attempting to do a special configuration of my mail system to spam filter
messages sent to a Mailman mailing list. I need to be able to pipe the emial
the mailman as the mailman group. My configuration is:
Postfix/courier-imap/MySQL authentication/maildrop/Mailman.
Normally, messages sent to a Mailman mailing list are sent to an alias that is
then piped to the mailman program. I want instead to process the mail as if it
were sent to a real user, with that user's maildrop mail filter file then
piping the email to mailman. By using the mail filter, I can route the email
first through smamassassin using xfilter, then send it on to the mailman
program.
So I have a simple filter file as:
xfilter "/usr/bin/spamassassin -x"
to "|/usr/local/mailman/mail/mailman post mymaillist"
When I send a message to the mailing list, I get a message:
" The Postfix program
<myma...@domain.com>: Command died with status 2:
"/usr/local/bin/maildrop". Command output: Failed to create default user
preference file /var/spool/postfix/virtual/.spamassassin/user_prefs Group
mismatch error. Mailman expected the mail wrapper script to be executed as
group "mailman", but the system's mail server executed the mail script as
group "csdbes". Try tweaking the mail server to run the script as group
"mailman", or re-run configure, providing the command line option
`--with-mail-gid=csdbes'."
Of course, I don't get this error on any other list so the advice of tweaking
mailman isn't appropriate. What I need to do is be able to specify the group
when piping the email. Can this be done?
Actually, one thing I don't understand is why piping from Postfix works, but
from maildrop does not. The postfix alias pipe does not contain any arguments
specifying a user group, and is running as it's own user and group, yet doesn't
produce errors. If anyone knows, I'd appreciate letting me know.
Rob