Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2010-05-03 17:48:32
Size: 2312
Editor: msapiro
Comment: minor formatting change
Revision 5 as of 2010-11-25 12:32:47
Size: 90
Editor: msapiro
Comment: Page renamed to DOC/Mailman - Postfix integration with Mailman generated transport or other maps
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma page-filename DOC/versions/10715327
Mailman can be configured to automatically [[http://www.list.org/mailman-install/node13.html|generate list aliases for Postfix]], and this process can also be hijacked to [[DOC/Integrating Mailman with Sendmail - Method 2|generate aliases automatically for sendmail]].

Mailman can also be additionally configured to automatically [[http://www.list.org/mailman-install/postfix-virtual.html|generate virtual alias mappings for postfix]].

Some people find these features insufficient as they want to have Mailman lists in a domain which is a postfix virtual_mailbox_domain. This can be done by using transport_maps rather than virtual_alias_maps for the Mailman addresses in that domain. The following is a way to automate that.

{{{#!wiki caution
The following is based on email exchanges and is believed to work, but the author has not personally tested it.
}}}


 1. Put the list domain(s) in POSTFIX_STYLE_VIRTUAL_DOMAINS in mm_cfg.py just as if they were going to be virtual_alias_domains.
 1. Do not put the domains in Postfix virtual_alias_domains, and do not put hash:/path/to/data/virtual_mailman in virtual_alias_maps.
 1. Create /path/to/data/virtual_to_transport with the following content
{{{
#!/bin/sh
sed -r -e 's/(^[^#][^ \t]+[ \t]+).+$/\1local/' $1 \
 > /path/to/data/transport-mailman
/usr/sbin/postmap /path/to/data/transport-mailman
}}}


 1. Then
{{{
chgrp mailman /path/to/data/virtual_to_transport
chmod 750 /path/to/data/virtual_to_transport
}}}

If your Mailman group is not 'mailman', put the actual group in the chgrp command.

 1. Put
{{{
POSTFIX_MAP_CMD = '/path/to/data/virtual_to_transport'
}}}

in mm_cfg.py

 1. Run Mailman's bin/genaliases. This will create/update the following files in /path/to/data/:
. aliases
. aliases.db
. virtual-mailman
. transport-mailman
. transport-mailman.db
Make sure transport-mailman and transport-mailman.db have permissions like aliases and aliases.db. In particular, transport-mailman.db must be readable by Postfix. From now on, these files will be maintained automatically by Mailman as lists are created and deleted.

 1. Add "hash:/path/to/data/transport-mailman" to transport_maps in main.cf.
 1. Reload Postfix to pick up the main.cf changes.
#REDIRECT DOC/Mailman - Postfix integration with Mailman generated transport or other maps

MailmanWiki: DOC/Mailman - Postfix integration with lists in virtual_mailbox_domains (last edited 2010-11-25 12:32:47 by msapiro)