[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