mikecathey.com


Postfix and Mailman 2.1 integration that lets you get away from managing your alias maps/table every time you add/delete a list.

Here's the original document that was written for integrating Postfix and Mailman 2.0.

Requirements:

  • Postfix 1.x/2.x
  • Mailman 2.1
  • separate sub-domain for mailing lists (ie. lists.foo.com)

NOTE: make sure you change the paths to mailman below.
Here's what you add to your /etc/postfix/aliases table:

____SNIP____ (append to) /etc/postfix/aliases
mailman                 "|/usr/local/home/mailman/listmgr/mail/mailman post $EXTENSION"
mailman-post            "|/usr/local/home/mailman/listmgr/mail/mailman post $EXTENSION"
mailman-admin           "|/usr/local/home/mailman/listmgr/mail/mailman admin $EXTENSION"
mailman-bounces         "|/usr/local/home/mailman/listmgr/mail/mailman bounces $EXTENSION"
mailman-confirm         "|/usr/local/home/mailman/listmgr/mail/mailman confirm $EXTENSION"
mailman-join            "|/usr/local/home/mailman/listmgr/mail/mailman join $EXTENSION"
mailman-leave           "|/usr/local/home/mailman/listmgr/mail/mailman leave $EXTENSION"
mailman-owner           "|/usr/local/home/mailman/listmgr/mail/mailman owner $EXTENSION"
mailman-request         "|/usr/local/home/mailman/listmgr/mail/mailman request $EXTENSION"
mailman-subscribe       "|/usr/local/home/mailman/listmgr/mail/mailman subscribe $EXTENSION"
mailman-unsubscribe     "|/usr/local/home/mailman/listmgr/mail/mailman unsubscribe $EXTENSION"
____SNIP____

NOTE: Be sure to change the domain!
Here's what you put in /etc/postfix/virtual-regexp:

____SNIP____ /etc/postfix/virtual-regexp
# mandatory
/^(postmaster|root|abuse)@lists\.foo\.com$/   $1@foo.com
# commands
/^([-a-zA-Z0-9_]+)-(post|admin|bounces|confirm|join|leave|owner|request|subscribe|unsubscribe)@lists\.foo\.com$/ mailman-$2+$1
# lists (command -post)
/^([-a-zA-Z0-9_]+)@lists\.foo\.com$/ mailman-post+$1
____SNIP____

Here's what you put in /etc/postfix/main.cf:

____SNIP____
virtual_maps = hash:$config_directory/virtual,
    regexp:/etc/postfix/virtual-regexp
    recipient_delimiter = +
    mailbox_command = /usr/bin/procmail -a "$EXTENSION"
____SNIP____

Enjoy.


| home
Glad you stopped by from 18.191.205.110.