Chris Miller wrote: > >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.
Are you sure it is Google adding this header. I get mail forwarded from Google mail and the only headers of this type it adds are X-Forwarded-To: [email protected] X-Forwarded-For: [email protected] [email protected] >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. require_explicit_destination is processed by the Hold handler. Approve has deleted the message long before it gets there. >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 This code is correct. It says make a list, beentheres, of the values of all the X-BeenThere: headers of the message (lower cased and stripped of leading and trailing whitespace). Then if this list's posting address (lower cased) is in that beentheres list raise the LoopError exception which results in the message being discarded. >Thoughts? It seems really strange that Google would add an X-BeenThere: header with the forward-to address, but if in fact they are, you have to take this up with them. You could remove the code you quote above from Approve.py, but then you run the risk of mail bombing the list if there is a real loop. You could also change the name of the header from X-BeenThere to say X-X-BeenThere. to do that, you would replace 'x-beenthere' in the code you quote above from Approve.py with 'x-x-beenthere' and change the line msg['X-BeenThere'] = mlist.GetListEmail() in Mailman/Handlers/CookHeaders.py to msg['X-X-BeenThere'] = mlist.GetListEmail() You'd also need to change 'x-beenthere' to 'x-x-beenthere' one place in cron/gate_news if you are doing any usenet to Mailman gatewaying. -- Mark Sapiro <[email protected]> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan ------------------------------------------------------ Mailman-Users mailing list [email protected] http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 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://wiki.list.org/x/QIA9
