Author: Aaron Stone
Date: December 5, 2005

DBMail with Mailman

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
 
mailman.txt · Last modified: 2012/02/27 21:30 by bas
 
DBMail is developed by Paul J Stevens together with developers world-wide