Author: Aaron Stone
Date: December 5, 2005
It's pretty straightforward to get Mailman working with DBMail. The main issue is that you need a lot of aliases that call out to the Mailman scripts. You might also have permissions problems because everyone is running with dropped privileges. I had to write a little suid wrapper script. You probably shouldn't need it, though.
Here's my script to create aliases:
lucite ~ # cat dbmail-mailman.sh #!/bin/sh # adds mailman aliases. specify -L listname -D domain -M mailman and it does the rest. while getopts ":L:D:M:" Option do case $Option in L ) LIST=$OPTARG ;; D ) DOMAIN=$OPTARG ;; M ) MAILMAN=$OPTARG ;; esac done shift $(($OPTIND - 1)) if [[ -z $LIST || -z $DOMAIN || -z $MAILMAN ]] then echo "Usage: dbmail-mailman.sh -L list -D domain -M mailman" exit 1 fi COMMANDS="join admin confirm leave owner request subscribe unsubscribe bounces" # Do the basic posting address echo "dbmail-users -q -x $LIST@$DOMAIN -t \"|$MAILMAN post $LIST\"" dbmail-users -q -x $LIST@$DOMAIN -t "|$MAILMAN post $LIST" # Do the various specific commands for CMD in $COMMANDS do echo "dbmail-users -q -x $LIST-$CMD@$DOMAIN -t \"|$MAILMAN $CMD $LIST\"" dbmail-users -q -x $LIST-$CMD@$DOMAIN -t "|$MAILMAN $CMD $LIST" done