On 2/7/26 12:33, John Price via Mailman-users wrote:
Is there a way to expire and delete (in mailman3 or via cron)
non-members?
I've been running mailman3 for a couple of weeks now on a few mailing
lists, and on my big list specifically I'm seeing lots of spam to the
[email protected] email alias, which creates these non-members, but they
never confirm their subscription, so they remain in non-member limbo.
They don't confirm their subscription because the don't have a
subscription request. They have been added to the list as nonmembers
because Mailman ensures there is an address record for all the sender
addresses in a post regardless of the disposition of the post. See
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/runners/incoming.py?ref_type=heads#L69-L73
Mailman 3 has a different model for dealing with nonmembers than does
Mailman 2.1. There are still *_these_nonmembers list attributes, but
these are intended to only be used for regexps. For individual
addresses, it is intended that the address be a nonmember and the
disposition of posts for that nonmember be handled by setting its
moderation_action.
Of course, this results in spam sender addresses becoming nonmembers
which may not be desired, but can be useful.
For example, on some lists I manage, nonmember posts are held for
moderation. In moderating the post, if I determine it's spam, I discard
it and in the same operation set the senders moderation action to
discard so subsequent posts from that address are automatically discarded.
However, if you want to remove nonmembers from a list, there is
currently no mailman subcommand to do that. The `mailman delmembers`
command only does members, not nonmembers. You can do it with `mailman
shell` (withlist) something like
```
$ mailman shell -l [email protected]
Welcome to the GNU Mailman shell
Use commit() to commit changes.
Use abort() to discard changes since the last commit.
Exit with ctrl+D does an implicit commit() but exit() does not.
The variable 'm' is the [email protected] mailing list
>>> for nonmember in m.nonmembers.members:
... nonmember.unsubscribe()
...
>>> commit()
```
--
Mark Sapiro <[email protected]> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
_______________________________________________
Mailman-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at:
https://lists.mailman3.org/archives/list/[email protected]/message/HTHSH6GBPQQFKOLEA54NB6TMZKIFYRM7/
This message sent to [email protected]