[Mailman-Developers] Moderation rules priority

Stephen J. Turnbull stephen at xemacs.org
Wed Mar 12 05:43:50 CET 2014


Aurelien Bompard writes:

 > I'd like to discuss what happens when an email is sent by both a
 > member and a nonmember in Mailman3. How is that possible? Very easy,
 > here's my use case : I have my own domain, say example.com, and for
 > convenience and portability I choose to use Gmail as a
 > server/storage/interface. My main adress is alice at example.com and I
 > redirect it to alice at gmail.com, while I set a default identity in
 > gmail to alice at example.com which will set the proper From header.
 > However, for spam detection and spoofing reasons, gmail adds a Sender
 > header with alice at gmail.com. My outgoing emails thus have both a From
 > and a Sender header, and in this case email clients only display the
 > >From header (except Outlook, but eh...)

Your outgoing emails also have an envelope sender, which might be
different from both of the above.

 > Mailman now: when I subscribe to a list, I use my regular address,
 > alice at example.com. But the message.senders property will contain both
 > addresses because of the Sender header. The email goes through the
 > MemberModeration rule, which finds my subscribed address and, by
 > default, associates the "defer" action.
 > The email then goes through the NonMemberModeration rule, which finds
 > my Gmail address and sets the action to "hold" (it ignores my main
 > address because it's a member already).
 > 
 > What do you think about all that? Do you agree there's actually an
 > issue there?

Yes.

 > Any idea how to solve it? For example, make the NonMember rule exit
 > if a member is found amongst the senders (which would simply be
 > equivalent to making it yield to the Member rule). Bad idea?

Offhand I'd say that having both a Member rule and a NonMember rule is
a bad idea.  There should be one conceptual test: can we identify a
member as the originator of this post?  Having Member and NonMember
rules that can both "succeed" is not coherent.

I think that what should happen here is that the Member rule should
try to identify the originator, and the NonMemberModeration (if in
effect) should just check for a "member_identified" property.  The
member_identified property could be a Boolean or actually contain a
list of members (list because it's not obvious what to do if each of
From, Sender, and envelope sender corresponds to a different member;
that would probably be a policy issue).

I don't really see how order dependence can be avoided without
violating DRY all over the place.

Alternatively, NonMemberModeration might not be a rule, but rather a
chain.  Perhaps that's the most elegant solution, as order dependence
between chains is necessary.





More information about the Mailman-Developers mailing list