[Mailman-Users] Revisit to moderator aliases

Mark Sapiro mark at msapiro.net
Wed Nov 18 04:48:18 CET 2009


Bill Catambay wrote:
>
>The two outstanding issues are:
>
>1. After I do the redirect to foo-list at lists.sonic.net, the 
>listserver still sends the moderation email back to me, requiring me 
>to approve of the post (despite the fact that the envelope sender is 
>from the list owner/moderator).  When the list traffic is slow, this 
>isn't a big issue, but when topics get hot, this becomes a major 
>headache (receive, read, modify, send, receive again, approve).
>
>2. Replies to digest still automatically go to 
>foo-list at lists.sonic.net instead of to the customized reply-to 
>address (and there does not appear to be any way to change that). 
>This becomes a mess because now I have a mix of non-moderated posts 
>and moderated posts in the same place, so I have to be careful about 
>which ones I approve.
>
>DREAM SOLUTION:
>I'm looking for a solution that would resolve both these issues.  I 
>imagine a solution where I set the reply-to address to 
>foo-list at lists.sonic.net, but somehow get the list to send those 
>posts to me intact unmodified (versus getting the Mailman generated 
>moderator emails with all the extraneous stuff and extra headers). 
>Then I perform any necessary modifications, and redirect to the list, 
>with the original heads intact, but have the list recognize the 
>envelope sender and therefore post to the list (rather than bounce 
>back to the moderator).
>
>I don't know if the first part of this solution is possible. 
>However, I believe I've already received information that tells me 
>that the 2nd part is not possible because Mailman does not have a 
>"check the envelope sender first" option.  Experimentation has shown 
>me that if I send a post to the list, and the FROM sender is not a 
>member, but the envelope sender the moderator (aka, me), it passes it 
>through to the list.  However, if the FROM sender is a member (but 
>mod flag turned on), then Mailman holds the post for moderator 
>approval regardless of what the envelope sender is.
>
>The FROM sender will always be a member of the list, and I want to 
>keep the FROM sender intact; hence, unless I'm the member posting, it 
>will always be held for moderation.


Your posts arrived out of sequence due to greylisting at python.org, so
I've responded to this, and Stephen, as is often the case, has an even
better idea.

I don't recall if we covered custom handlers in the earlier thread, but
there is a FAQ at <http://wiki.list.org/x/l4A9> that talks about
installing a custom handler for a single list. That FAQ talks about
adding a handler to the pipeline, but what you would want is to
replace the Moderate handler with your own version. Yours would differ
from the base by changing the initial part of process() from

def process(mlist, msg, msgdata):
    if msgdata.get('approved') or msgdata.get('fromusenet'):
        return
    # First of all, is the poster a member or not?
    for sender in msg.get_senders():
        if mlist.isMember(sender):
            break
    else:
        sender = None

to

def process(mlist, msg, msgdata):
    if msgdata.get('approved') or msgdata.get('fromusenet'):
        return
    # First of all, is the poster a member or not?
    for sender in msg.get_senders(headers=(None,
                                           'from',
                                           'reply-to',
                                           'sender')):
        if mlist.isMember(sender):
            break
    else:
        sender = None

Actually, you could use any sequence of headers (and None for envelope
sender) you want, You could check just the envelope sender with

    for sender in msg.get_senders(headers=(None,))

Then you (the host actually) would replace Moderate with this handler
in a custom pipeline for this list only.


>In one of the earlier replies, Steve suggested the following aliases:
>
>foo-list:           moderator at example.com
>foo-list-moderated: | mailman post foo-list
>
>This suggestion sounds a bit like the first part of my "dream" 
>solution above, where I let people post to the list address (instead 
>of the customized reply-to address).  The alias would then route the 
>post directly to me rather than to Mailman.  Putting aside, for now, 
>how I get this alias set up, I'm still stuck on how I would then get 
>the email posted to the mailing list (since if I send it to the list 
>address, it will just come back to me again).  Perhaps that is where 
>the foo-list-moderated alias comes into play?


Exactly. foo-list: becomes an alias for you and foo-list-moderated:
becomes the actual list posting address. Or, you (read the host) could
make the foo-list: alias like

foo-list: "|/path/to/mailman/mail/mailman owner foo-list"

so it would be a synonym for foo-list-owner and you wouldn't have to
bug the host if you wanted to change the address (note Stephen's
foo-list-moderated: is abbreviated and really should look more like
this one but with the 'post' argument he has).


>Taking a stab at it, I should ask my ISP to do the following:
>
>1. Set an alias for foo-list at lists.sonic.net to go to 
>moderator at example.com (my email).
>2. Set an alias for foo-list-moderated at lists.sonic.net to go to "| 
>mailman post foo-list".
>
>Then my steps for moderating the list would be:
>
>Receive email at moderator at example.com (originally posted to 
>foo-list at lists.sonic.net), perform edits as necessary, then redirect 
>the post to foo-list-moderated at lists.sonic.net (6 steps down to 3 
>steps).
>
>I did a test email to foo-list-moderated at lists.sonic.net, and it was 
>returned as "no such user", so I'm guessing that I'm actually 
>creating a new email alias as part of this solution.


Right.


>Does it sound like I understand the suggestion correctly?  And if so, 
>is it the solution that you think I am after?


Yes.


>I just want to make sure I'm on the right track before I start poking 
>my ISP for help.


I think the aliases together with the modified Moderate handler for
your list will be your DREAM SOLUTION. And this has the advantage that
while it is some work for the host to set up, it affects only your
list so thay can't say no solely on the grounds that it may have
unintended consequences for other customers.

-- 
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