[Mailman-Users] Re: un-subscription problems

Jon Carnes jonc at nc.rr.com
Mon Sep 23 16:16:41 CEST 2002


On Sun, 2002-09-22 at 23:37, Anthony Carmody wrote:
> ~gulp~ I am not a python programmer. and the users of the list needing the unsubscribe address are artists [do i need to
> say more?]  ..and although I am not 'completely' new to Mailman, I have only had it on my system for a few months AND in
> a moderately vanilla state. I lease a Virtual Server without smrsh that I can see, and I only have a pseudos-root
> permission. I have virtual domains making it a little trickier. I have searched the archives and have not been able to
> find anything that works for me as of yet.
> 
> I suppose what I need to know is: Is there a script [adding addresses to a temp file, hourly cron is fine] that someone
> 'has working' that they can post me that does not need smrsh and has the alias entries examples. preferably something
> that I can pass the variables to like so:
> 
> <mailinlistname>-unsub:            "|/usr/lib/mailman/localbin/unsubscribe.sh <mailinlistname>- <virtualdomain>-"
> 

How about something like this:

 - In the aliases file, add an entry for the unsubscribe email:
     volleyball-unsub:  "|/home/mailman/ext/v-unsub.alias"

 - Create the directory /home/mailman/ext
     mkdir /home/mailman/ext
     chown mail /home/mailman/ext
     chmod 0700 /home/mailman/ext

 - In /home/mailman/ext create the script "v-unsub.alias":
  #! /bin/bash
  # 
  # Script to unsubscribe user from volleyball list.
  # Loads file /home/mailman/ext/v-unsub.txt
  # That file is later processed by a Mailman cron job
  #   /home/mailman/ext/v-unsub.cron
  #
  #   Mail to volleyball-unsub at haht.com
  #   Subject: unsubscribe username at domain.com
  UNSUB=`grep -i "Subject: " - |head -1 |cut -f2- -d:`
  for i in $UNSUB
  do
     echo $i >> /home/mailman/ext/v-unsub.txt
  done
  # End of script

 - Create the script v-unsub.cron
  #! /bin/bash
  # 
  # Script to unsubscribe user from volleyball list.
  # Removes users found in file /home/mailman/ext/v-unsub.txt
  # The file is loaded via an unsubscribe alias: v-unsub.alias
  for i in `cat /home/mailman/ext/v-unsub.txt`
  do
     /home/mailman/bin/remove_members volleyball $i
  done

 - Make the scripts executable:
     chmod a+x /home/mailman/ext/v-unsub.alias
     chmod a+x /home/mailman/ext/v-unsub.cron

 - Add the script to the Mailman cron jobs:
  su mailman
  cron -i
    15 * * * *   /home/mailman/ext/v-unsub.cron

===
There is no error checking on any of the scripts and basically anyone
can unsubscribe anyone (or everyone) from the list, but it should work
as a base.

Take care - Jon Carnes





More information about the Mailman-Users mailing list