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 firstname.lastname@example.org and I redirect it to email@example.com, while I set a default identity in gmail to firstname.lastname@example.org which will set the proper From header. However, for spam detection and spoofing reasons, gmail adds a Sender header with email@example.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...)
Mailman now: when I subscribe to a list, I use my regular address, firstname.lastname@example.org. 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? 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?