[Mailman-Users] All messages discarded, no reason

Mark Sapiro mark at msapiro.net
Sat Nov 8 23:01:34 CET 2008


Milos Prudek wrote:
>
>There is no useful information that mailman could tell me if I hacked its 
>source code to report more to ../mailman/vette, is there?


You can get more information, but I think you'll see that this
'discarded' message is just a relay of the outbound message back to
the list.

If you look at Mailman/Queue/IncomingRunner.py, you'll see as part of
the exception processing in _dopipeline()

            except Errors.DiscardMessage:
                # Throw the message away; we need do nothing else with
it.
                syslog('vette', 'Message discarded, msgid: %s',
                       msg.get('message-id', 'n/a'))
                return 0

If you add a line to this to make it

            except Errors.DiscardMessage:
                # Throw the message away; we need do nothing else with
it.
                syslog('vette', 'Message discarded, msgid: %s',
                       msg.get('message-id', 'n/a'))
                self._shunt.enqueue(msg, msgdata)
                return 0

when the message is discarded, it will be copied along with its
metadata to an entry in the shunt queue. This entry is a file in
qfiles/shunt with a name like
1199323852.640625+bd387fe2090d9da45bff22922d1be0d4b54ec73a.pck. The
part to the left of the '+' is a timestamp and the part to the right
is a hash of the message.

You can then dump this file with Mailman's bin/dumpdb, and you will see
the full message and metadata. I suspect, however that this won't tell
you anything you don't already know.

However, in thinking about this, I have another idea. You send a
message to the list. It has a header

To: t at z.docestiny.cz

Mailman resends it with envelope recipients equal to the 3 list
members, but the message data still has the original To: header.
Something in Postfix/spamassassin/postfix-to-mailman.py is relaying
these outbound messages based on To: header rather than envelope
recipient.

If you can't figure out what in the
Postfix/spamassassin/postfix-to-mailman.py configuration is doing
this, you can at least verify whether or not this is the issue by
setting

OWNERS_CAN_ENABLE_PERSONALIZATION = Yes

in mm_cfg.py and setting the list for Full Personalization on the
Non-digest options page. This will cause Mailman to rewrite the To:
header with the address of the recipient, and if the messages are then
delivered to the list members, you'll know it is the To: header that
is causing the problem.

You could also test further by just using the Postfix 'sendmail'
command to send a message to userb at ... which has a To: header of
usera at ... (not in the z.docestiny.cz domain) and see if that is
properly delivered to userb and not usera. If not, it's probably not
postfix-to-mailman.py related, but if that is properly delivered, try
a To: t at z.docestiny.cz header in the message.

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list