[Mailman-Users] Modified postfix-to-mailman.py for recipient_delimiter="-", VERP questions

Jens Benecke jens at spamfreemail.de
Sun Aug 7 10:35:40 CEST 2005


Hello,

for people moving from Qmail to postfix it's common to have to set the
"recipient_delimiter" to "-" because that's QMail's default. I have a
thousand users relying on this setting and I wanted to use Mailman. For
ease of setup I used the "mailman:" transport configuration for dedicated
mailing list domains and the postfix-to-mailman.py script and saved myself
the trouble of setting up aliases and virtual settings.

However, due to Postfix's adress extensions the configuration line in
master.cf needs to be changed. I posted this in the SysCP forum at 
http://www.syscp.de/forum/viewtopic.php?p=12500, and here's a quick
cut&paste copy:

I have a few questions:

- Did I open any new pitfalls with the below configuration? How about bounce
detection and VERP?

- Is postfix-to-mailman.py compatible with VERP at all? AFAIU, VERP appends
a code to the return path so that it looks like
"listname-bounces+114abc2934.... at domain.com". The postfix-to-mailman.py
script seems to pipe the mail to "/var/lib/mailman/mail/mailman
bounces+114abc2934...", will this work? How do I find out more about how
mailman processes bounces internally?

- Does Mailman split the VERP extension automatically or does Postfix need
to do this, assuming all mail to the mailinglist domains get fed to the
"mailman:" transport anyway?

==========================================================================

What do you get? 

- Mailman with multiple domains. 
- NO "real" virtual domains - list names must all be unique. "news at domain1"
and "news at domain2" cannot coexist. 
- Dedicated domains for list. One domain (or subdomain) cannot contain both
lists and real email adresses. A possible patch is here:
http://sourceforge.net/tracker/index.php?func=detail&aid=943827&group_id=103&atid=300103
- No alias files maintenance. Just insert the domains you want to use for
lists in the transport table (hash file or MySQL) and in Mailman's
"mm_cfg.py", and add the lists via "newlist". 
- VERP does not work - I think - because it uses "-" *and* relies on "+" as
the extension (recipient_delimiter). I think.
 
Here goes: 

- Install Mailman. 
 
- Configure mailman according to the comments in
"/etc/mailman/postfix-to-mailman.py" - optionally, replace the transport
and relay-domains maps with mysql tables and create mysql tables
accordingly (this allows for later SysCP integration): 
Code:
 recipient_delimiter="+" 
 owner_request_special = no 
 transport_maps = mysql:/etc/postfix/mysql-virtual-mailman-transport.cf 
 relay_domains = mysql:/etc/postfix/mysql-virtual-mailman.cf 
 mailman_destination_recipient_limit = 1 
   
- If you use recipient_delimiter="-", you need a wrapper script for
postfix-to-mailman.py which you must call in master.cf, which basically
re-appends the -extension to the user name. Then, in master.cf you must
call this wrapper script with ${nexthop} ${user} ${extension} as
parameters. Alternatively, patch postfix-to-mailman.py to accept two *or*
three parameters (but I don't know enough Python to do that). 
Code:
  #!/bin/bash 
   test -z "$3" || DELIM=- 
   cat | /etc/mailman/postfix-to-mailman.py "$1" "$2$DELIM$3"

- Alternatively, if you use Postfix 2.2 (when released), skip the wrapper
script and replace ${user} in the master.cf maildrop line with
"${user}${extension?-}${extension}". 

======================================================================

Comments welcome!



-- 
Jens Benecke (jens at spamfreemail.de)
http://www.hitchhikers.de - Europaweite kostenlose Mitfahrzentrale
http://www.spamfreemail.de - 100% saubere Postfächer - garantiert!
http://www.rb-hosting.de - PHP ab 9? - SSH ab 19? - günstiger Traffic




More information about the Mailman-Users mailing list