[Mailman-Users] Postfix, Mailman, and postfix-to-mailman.py trouble
Craig Stacey
stace at mcs.anl.gov
Thu Oct 30 00:58:11 CET 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I've searched the archives on this, and haven't come up with a
solution, any tips would be appreciated. I'll begin by describing our
setup.
We run a number of virtual domains on our mailman server. In each
case, we run a separate instance of mailman for each domain. The
handoff from postfix to mailman is done via postfix-to-mailman.py. It
doesn't *feel* like that is relevant to the problem, but in case it
is, here are the relevant bits from master.cf and transport:
master.cf:
mailmancom unix - n n - - pipe
flags=FR user=list argv=/www/lists.example.com/bin/postfix-to-
mailman.py ${nexthop} ${user}
mailmanorg unix - n n - - pipe
flags=FR user=list argv=/www/lists.example.org/bin/postfix-to-
mailman.py ${nexthop} ${user}
mailmannet unix - n n - - pipe
flags=FR user=list argv=/www/lists.example.net/bin/postfix-to-
mailman.py ${nexthop} ${user}
transport:
lists.example.com mailmancom:
lists.example.org mailmanorg:
lists.example.net mailmannet:
I'm explaining it this way to lay out why we're running things through
the postfix-to-mailman.py script instead of the traditional method.
In the above domains, there are numerous duplication of listnames, and
this seemed the best path to resolution. I realize postfix-to-
mailman.py is not official (or supported), but I'm wondering if anyone
else has come across this issue.
Now, here's the behavior we observe.
If a is sent to multiple lists in a domain, only the first list
(alphabetically) will see it. This includes when multiple lists
within the same domain are defined in the To: line, or in an umbrella
list situation where the member lists live in the same domain.
When looking at the logfiles, we can see the messages go in multiple
times, but only spit out once on the other side.
An example:
/var/log/mail.info:
Oct 27 14:39:23 owney postfix/pipe[16420]: 0788A8F6B2: to=<core-other at lists.example.com
>, relay=mailmancom, delay=0, status=sent (lists.example.com)
Oct 27 14:39:23 owney postfix/pipe[16420]: 0788A8F6B2: to=<core-staff at lists.example.com
>, relay=mailmancom, delay=0, status=sent (lists.example.com)
Oct 27 14:39:23 owney postfix/pipe[16420]: 0788A8F6B2: to=<core-students at lists.example.com
>, relay=mailmancom, delay=0, status=sent (lists.example.com)
Then, from /www/lists.example.com/logs/smtp, we see only one come out
the other side:
Oct 27 14:39:23 2008 (2652) <B99088C8-7429-4FBA-ADE8-56E6DCF03ABD at stace.com
> smtp to core-other for 2 recips, completed in 0.013 seconds
Three messages go in, one comes out the other end.
I did some logging, and found that postfix-to-mailman.py is only
processing *one* message. The script gets the listname from this line:
local = sys.argv[2]
All the docs specify you should put this line in main.cf:
mailman_destination_recipient_limit = 1
I can find no documentation on that particular config, but it seems
like it's telling postfix to only put one recipient per message when
sending to mailman, which would jibe with what the variable setting in
the above script is looking for.
However, it looks like that setting is totally being ignored by our
postfix install. If I type "postconf", I do *not* see
"mailman_destination_recipient_limit" listed in the output. That
seems to me to indicate to me that it's not being honored.
Am I off base here? Has anyone run into this before?
We're running the unbuntu 6.06 version of postfix (2.2.10-1ubuntu),
and all of the mailman instances are installed from source due to our
above virtual list setup.
Any help on this unsupported config is greatly appreciated. :)
==
Craig
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkkI+JMACgkQbVNGA3HOzQsa9gCfd31Wn7QqX5z8ns+QT2/mQ6DS
eTwAoIFuYkCzj8kRlsVmzOPWbE0zLGFp
=1PrD
-----END PGP SIGNATURE-----
More information about the Mailman-Users
mailing list