In case you need this, I do. Of course, the shown preferences need to be 
adapted according to your needs.

def reset_bounce_scores():
# reset bounce scores and setting certain standard member preferences to all 
members in all mailinglists
# 20250910

  from zope.component import getUtility
  from mailman.interfaces.listmanager import IListManager
  from mailman.interfaces.member import DeliveryMode, DeliveryStatus
  RED = "\033[31m\033[1m"
  X = "\033[0m"

  hide_address = False
  delivery_status = DeliveryStatus.enabled
  lm = getUtility(IListManager)

  for mlist in lm.mailing_lists:
    # print(f"... checking bounce status and setting standard preferences of 
members in {mlist.fqdn_listname}")
    print(f"... resetting bounce status of members in {mlist.fqdn_listname}")
    for member in mlist.members.members:
      prefs = member.preferences
      prefs.acknowledge_posts = True
      prefs.hide_address = hide_address
      # prefs.preferred_language = 'de'
      prefs.receive_list_copy = True
      prefs.receive_own_postings = True
      prefs.delivery_mode = DeliveryMode.regular
      prefs.delivery_status = delivery_status

      bs = member.bounce_score
      if bs > 0:
        print(f"reset bounce score of: {member.address.email} 
{mlist.fqdn_listname} {RED}{bs}{X}")
        member.bounce_score = 0
_______________________________________________
Mailman-users mailing list -- mailman-users@mailman3.org
To unsubscribe send an email to mailman-users-le...@mailman3.org
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at: 
https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/LGBECS3TPAFGCG5QVQ5IBZADCJLSOY5W/

This message sent to arch...@mail-archive.com

Reply via email to