Mailman 3: some non member allowed to post on a mailing list

Hi,
I'm beginning to use mailman 3. One of the nice feature in mailman 2 was the ability to allow specific non-member of a list to post in it.
I don't find a way to do this in mailman 3 and as far as I understand this page http://www.pythonhosted.org/mailman/src/mailman/model/docs/membership.html it seems that there is no automatic way of dealing with this.
Am I wrong?
-- Étienne Loks

On Jan 06, 2016, at 04:12 PM, Étienne Loks via Mailman-Developers wrote:
I'm beginning to use mailman 3. One of the nice feature in mailman 2 was the ability to allow specific non-member of a list to post in it.
I don't find a way to do this in mailman 3 and as far as I understand this page http://www.pythonhosted.org/mailman/src/mailman/model/docs/membership.html it seems that there is no automatic way of dealing with this.
This is really what you want to read. There's a new 'nonmember' rule that checks for posting conditions described here:
http://mailman.readthedocs.org/en/release-3.0/src/mailman/chains/docs/modera...
"Members" are users or addresses subscribed to mailing lists, and every member has a role and a moderation_action. "Non-member" is a valid role. So the idea is that you "subscribe" a non-member to a mailing list and give them a moderation_action of 'accept'. Then their postings won't be held for approval.
Mailman 3 also supports the legacy *_these_nonmember fields, e.g. accept_these_nonmembers, which must contain email addresses or, if the string starts with a ^ it's interpreted as a regular express, just as with Mailman 2.1.
Cheers, -Barry

On 1/6/2016 3:20 PM, Barry Warsaw wrote:
On Jan 06, 2016, at 04:12 PM, Étienne Loks via Mailman-Developers wrote:
I'm beginning to use mailman 3. One of the nice feature in mailman 2 was the ability to allow specific non-member of a list to post in it.
I don't find a way to do this in mailman 3 and as far as I understand this page http://www.pythonhosted.org/mailman/src/mailman/model/docs/membership.html it seems that there is no automatic way of dealing with this. This is really what you want to read. There's a new 'nonmember' rule that checks for posting conditions described here:
http://mailman.readthedocs.org/en/release-3.0/src/mailman/chains/docs/modera...
"Members" are users or addresses subscribed to mailing lists, and every member has a role and a moderation_action. "Non-member" is a valid role. So the idea is that you "subscribe" a non-member to a mailing list and give them a moderation_action of 'accept'. Then their postings won't be held for approval.
Mailman 3 also supports the legacy *_these_nonmember fields, e.g. accept_these_nonmembers, which must contain email addresses or, if the string starts with a ^ it's interpreted as a regular express, just as with Mailman 2.1.
Will Mailman 3 also accept a string starting with @ to be interpreted as a list to be used, just as with later versions of Mailman 2.1?
Thanks, Chris

On Jan 07, 2016, at 09:30 AM, Chris Nulk wrote:
Will Mailman 3 also accept a string starting with @ to be interpreted as a list to be used, just as with later versions of Mailman 2.1?
Not currently, because that landed in MM2.1 after the split. Merge requests welcome, of course.
Cheers, -Barry

Le 07/01/2016 00:20, Barry Warsaw a écrit :
This is really what you want to read. There's a new 'nonmember' rule that checks for posting conditions described here:
http://mailman.readthedocs.org/en/release-3.0/src/mailman/chains/docs/modera...
"Members" are users or addresses subscribed to mailing lists, and every member has a role and a moderation_action. "Non-member" is a valid role. So the idea is that you "subscribe" a non-member to a mailing list and give them a moderation_action of 'accept'. Then their postings won't be held for approval.
Thanks for the explanation!
I have tried different things with the python client to achieve this but with no results. I don't know if there are missing features in the client or if I have misunderstood something.
For instance for known email:
========================================================================
client = Client('http://localhost:8001/3.0', 'restadmin', 'restpass') my_list = client.get_list(ml_id)
# my_list.nonmembers is a list no "get_member" method for nm in my_list.nonmembers: if nm.email == email_to_add: pass # no moderation_action
========================================================================
Or to "subscribe" an unknown email:
========================================================================
my_list.add_role('non-member', email_to_add) # non-member / nonmember / etc. are not considered as valid roles
========================================================================
As a fallback I have tried to edit directly the database:
========================================================================
conn = sqlite3.connect(DB) c = conn.cursor()
sql = """ UPDATE member set moderation_action=? WHERE member.list_id=? and member.address_id = ( SELECT id from address where email=?)"""
c.execute(sql, [Action.accept.value, ml_id, email_to_add])
conn.commit()
========================================================================
But with no result.
Thanks for any help!
-- Étienne Loks
participants (3)
-
Barry Warsaw
-
Chris Nulk
-
Étienne Loks