[Mailman-Users] Mailman silently discard messages

Chris Miller chris at chrismiller.com
Fri Sep 25 00:31:29 CEST 2009


Mark Sapiro wrote:
> Chris Miller 
>   
>> In my log I now see :
>>
>> Sep 21 16:50:13 2009 (10277) Message discarded by Approve, msgid:
>> <4AB81105.1090201 at invalid.com>
>>     
>
>
> Approve only discards 'looping' messages. The post contains an
> X-BeenThere: header containing the list posting address.
>
> Either someone is replying to a list post using an MUA that leaves this
> header in the reply, or the post is being generated in some other way
> that leaves the header in.

In this case we have an email address hosted by Google's business mail
services, that forwards to the Mailman list on a remote server.
<http://lists.nextspace.us/mailman/admin/nextspace-chatter/?VARHELP=privacy/recipient/acceptable_aliases>
I setup a test forwarded and confirmed that Google is in fact added the
X-BeenThere: header. I'm assuming that Google just added this header a
few days ago, since the list worked fine before that.
<http://lists.nextspace.us/mailman/admin/nextspace-chatter/?VARHELP=privacy/recipient/acceptable_aliases>
Also email sent to the list's local address (not routed via Google) work
just fine.


We have *"require_explicit_destination*" set, with the Google hosted
email address 
<http://lists.nextspace.us/mailman/admin/nextspace-chatter/?VARHELP=privacy/recipient/require_explicit_destination>
listed in the "*acceptable_aliases*".
<http://lists.nextspace.us/mailman/admin/nextspace-chatter/?VARHELP=privacy/recipient/acceptable_aliases> 
I disabled *require_explicit_destination*
<http://lists.nextspace.us/mailman/admin/nextspace-chatter/?VARHELP=privacy/recipient/require_explicit_destination>
and removed the acceptable aliases, however the problem still exists.
I'm not certain I'm reading the code correctly, but it appears that
Mailman (version 2.1.5) is only looking for the presence of the
X-BeenThere: header, not comparing the contents to the list address :

/usr/lib/mailman/Mailman/Handlers/Approve.py:

    # has this message already been posted to this list?
    beentheres = [s.strip().lower() for s in msg.get_all('x-beenthere', [])]
    if mlist.GetListEmail().lower() in beentheres:
        raise Errors.LoopError

Thoughts?

Chris


More information about the Mailman-Users mailing list