- Open Source Workshop #2 - Voyage Linux Introduction
- Spam protected email address for mailman archive
- Subversion to DVCS - Your mindset has to change as well
- DNMA92, ath9k and hostapd with Voyage Linux
- Slides for Open Source Developer talk at SFD
- Open Source Developer talk at Software Freedom Day 2009 HK
- Building compat-wireless drivers for 2.6.30
- leds-alix2 module in 2.6.30 kernel
- squashfs 4.0 on Debian Lenny and 2.6.30 kernel
- Upgrade Debian Etch Xen 3.0.2 to Lenny Xen 3.2
Spam protected email address for mailman archive
As a voyage-linux list administrator, I have recently received a request from a list member for removing his email address from the archive. I have reviewed the archive immediately and the email address is shown as "xxx at yyy.com", which makes intelligent spam-bots easily to find out the email address.
I have prepared the a script called "replace_spam.sh" to replace "xxx at yyy.com" with "(spam-protected)" for all archived messages.
#!/bin/sh
for FILE in 20[0-9][0-9]-*/0*.html
do
echo $FILE
#grep "TITLE=.*\>.* at .*$" $FILE
sed -e "s/TITLE=\(.*\)>.* at .*$/TITLE\1>\(spam-protected\)/" -i $FILE
done
Put the script to the archive root and run it:
# cd /usr/local/mailman/archives/private/voyage-linux # replace_spam.sh
Next, we need to change the achiver program such that it will not generated "xxx at yyy.com" as well. In /usr/local/mailman/Mailman/Archiver/HyperArch.py, change:
- self.email = re.sub('@', _(' at '), self.email)
+ self.email = "(spam-protected)"
- author = re.sub('@', _(' at '), self.author)
+ author = "(spam-protected)"
- author = re.sub('@', _(' at '), author)
+ author = "(spam-protected)"
That's it. When new mail comes from the list member, the archiver will now mask xxx at yyy.com email address as "(spam-protected)".
2010-06-08 Update: Two of the above changes in incorrect. Now fixed. I also have found a way to regenerate all the archive by using this command:
# cd /usr/local/mailman # bin/arch voyage-linux archives/private/voyage-linux.mbox/voyage-linux.mbox


