Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2010-11-25 12:32:47
Size: 2945
Editor: msapiro
Comment: Revised to be more generic.
Revision 3 as of 2010-12-28 12:18:49
Size: 2789
Editor: msapiro
Comment: Removed 't' from sed regexp. Not needed and some sed implementations don't recognize it.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma page-filename DOC/versions/11075608 #pragma page-filename DOC/versions/11075631
Line 20: Line 20:
sed -r -e 's/(^[Mailman - Postfix integration with Mailman generated transport or other maps^#][Mailman - Postfix integration with Mailman generated transport or other maps^ \t]+[ \t]+).+$/\1local/' $1 \ sed -r -e 's/(^[^#][^ ]+[ ]+).+$/\1local/' $1 \

Mailman can be configured to automatically generate list aliases for Postfix, and this process can also be hijacked to generate aliases automatically for sendmail.

Mailman can also be additionally configured to automatically generate virtual alias mappings for postfix.

Some people find these features insufficient as they want to use some specific transport or other mapping for Mailman list addresses that is not applied to all addresses in the list domain(s). The following is a way to automate the generation of some Postfix map via editing the Mailman generated virtual-mailman file.

The following is not necessary if all that is desired is to have Mailman lists in a virtual_mailbox_domain. See this thread and this post on the mailman-users list and this example.

However, the following or a similar procedure may still be useful to automatically generate transport_maps or some other mapping for Mailman lists for other purposes.

  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.
  2. Do not put the domains in Postfix virtual_alias_domains, and do not put hash:/path/to/data/virtual_mailman in virtual_alias_maps.
  3. Create /path/to/data/virtual_to_transport with the following content

sed -r -e 's/(^[^#][^ ]+[ ]+).+$/\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.
  2. Reload Postfix to pick up the main.cf changes.

MailmanWiki: DOC/Mailman - Postfix integration with Mailman generated transport or other maps (last edited 2016-02-11 16:20:52 by msapiro)