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]]