On 4/30/19 1:04 AM, Henrik Rasmussen wrote:
@Mark: I am really sorry for the delayed responses, but this is a very low frequency list. I have subscribed to the list using a non-Microsoft address to see the outcome.
The mails does indeed contain 'X-Mailman' headers.
X-Mailman-Rule-Hits:nonmember-moderation X-Mailman-Rule-Misses:dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation
It looks like the message hit the nonmember-moderation rule and was accepted. This can happen in a few ways:
First we determine the senders. Assuming the config is default, these are the addresses in From:, the envelope sender, and addresses in Reply-To: and Sender: if any.
The only address I can see in the message headers that hasn't been altered by Mailman is the From: and maybe Reply-To: which you have munged to [LISTNAME]@senderdep.example.com.
Anyway that unmunged address and possibly others from the original incoming message will be users of the list with role nonmember.
Now each of those (possibly only the one) nonmember(s) is checked for a moderation action. Since the message does not appear to have been held or processed through rules beyond nonmember-moderation, we presumably found a moderation action of accept.
This can happen in a few ways., If this list was originally imported from Mailman 2.1 by the 'mailman import21' command, there may be a legacy accept_these_nonmembers attribute for the list. If so, and if a nonmember sender address matches an address or pattern in the list's accept_these_nonmembers, the message will be accepted. Otherwise if the moderation_action for a nonmember sender address is accept the message will be accepted.
You need to check the list's accept_these_nonmembers attribute and the non-member address's moderation action.
If you have recent Postorius, you can see nonmembers and their options from the 'users' -> Non-members view.
In any case, you can do something like
mailman shell -l list.example.com Welcome to the GNU Mailman shell The variable 'm' is the list.example.com mailing list
m.accept_these_nonmembers returns a possibly empty list
Then for the sender addresses
memb = m.nonmembers.get_member('sender address') memb.moderation_action
This may return <Action.accept: 3>
in which case you may want
memb.moderation_action = m.default_nonmember_action
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan