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 "[EMAIL PROTECTED]". 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. "[EMAIL PROTECTED]" and "[EMAIL PROTECTED]" 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 ------------------------------------------------------ Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/archive%40jab.org Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq01.027.htp