The following is the GNU All-permissive License as recommended in https://www.gnu.org/licenses/license-recommendations.en.html

Copyright (C) 2024 Free Software Foundation sysadmin@fsf.org

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

Contributions are welcome. See https://savannah.gnu.org/maintenance/fsf/.

Mass removal from mailman lists

Checking what lists some email addresses are subscribed to:

# usage: EMAIL...
get-subs() {
  local email
  local -A ba
  for email; do
    ba[$email]=t
  done
  cd /home/list/mailman/bin
  time for list in $(./list_lists -b); do
    for m in $(./list_members $list); do
    if [[ ${ba[$m]} ]]; then echo $list $m; fi
    done
  done
}

For example, removing 2 addresses from all @gnu.org lists.

list@lists1p:~/mailman/lists$ for x in */domains/gnu.org; do l=${x%%/*}; ../bin/remove_members $l mattl@gnu.org mattl@cnuk.org; done

If someone wanted removal from all mailman lists we run, remove the domains part, and run it on both our lists servers. Of course, they can always unsubscribe themselves.

Changing address

Tell them to contact each list administrator of the private lists and have them check his identity and change the subscription. For public lists, they can just subscribe using the new address, and the old address will automatically be unsubscribed when it bounces.

Changing an address could be scripted, similar to removal from all lists. If the number of lists is small, the best way is to use admin interface for each list to subscribe new address and remove subscription of old address. Example: [[!rt 1975207]]