[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