Delivered-To: erwin@localhost
Date: Wed, 30 Jun 2004 17:03:26 +0200
From: David Du SERRE-TELMON <dduserretelmon@informatique-securite.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.6b) Gecko/20031205 Thunderbird/0.4
X-Accept-Language: fr, en
To: Erwin Hoffmann <feh@fehcom.de>
Subject: Whitelist generator
X-Spam-Status: No, hits=-2.6 required=5.0
	tests=BAYES_20,USER_AGENT_MOZILLA_UA
	version=2.54
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.54 (1.174.2.17-2003-05-11-exp)

Erwin, this script could be usefull for vpopmail users who use 
spamcontrol with RECIPIENT feature.

David.
#!/bin/sh
#
# This script generate whitelist for all your vpopmail domains, alias
# and ezmlm mailing-list for spamcontrol RECIPIENT feature.
# http://www.fehcom.de/qmail/spamcontrol
# David du SERRE-TELMON <david@xinus.net>
# 06/30/2004

vpopmaildir="/home/vpopmail"
qmaildir="/var/qmail"
dstfile="${qmaildir}/users/recipients"

rm -f $dstfile.tmp

for domain in `cat ${qmaildir}/users/assign | cut -d: -f 2 | grep -v -w . | sort | uniq`; do
  if [ -d ${vpopmaildir}/domains/${domain} ]; then
    for mail in `cat ${vpopmaildir}/domains/${domain}/vpasswd | cut -d: -f 1`; do
      echo "${mail}@${domain}" >> ${dstfile}.tmp
    done
    cd ${vpopmaildir}/domains/${domain}
    for fwd in `ls -a -1 .qmail-* | sed 's/\:/\./' | sed 's/\.qmail-//g' | grep -v -w default`; do
      if [ $fwd != "default" ]; then
        if echo ${fwd} | grep "\-owner$" > /dev/null; then
          echo "${fwd}-owner@${domain}" | sed 's/\-owner//' >> ${dstfile}.tmp
          echo "${fwd}-help@${domain}" | sed 's/\-owner//' >> ${dstfile}.tmp
          echo "${fwd}-subscribe@${domain}" | sed 's/\-owner//' >> ${dstfile}.tmp
          echo "${fwd}-unsubscribe@${domain}" | sed 's/\-owner//' >> ${dstfile}.tmp
        else
          echo "${fwd}@${domain}" >> ${dstfile}.tmp
        fi
      fi
    done
  fi
done

rm -f ${dstfile}
mv ${dstfile}.tmp ${dstfile}
${qmaildir}/bin/qmail-recipients
