I want to reject incoming email to invalid users AFTER accepting the email by SMTPd. Where can I insert a small bash script to check valid users against VPOPMAIL MYSQL DB before allowing SPAMD, CLAMAV, qmail-inject, etc. to run???
Vpopmail 5.4.5, Mysql 3.23.54. Also, I'm aware of Tonix's patch to prevent invalid users BEFORE SMTPD accepts mail. Am considering it, but want to understand options if I'm willing to take the bandwidth hit but not provide hints to dictionary attackers. Really hoping to put a small script inline to SMTP processing. THANKS! My current /var/qmail/supervise/qmail-smtpd/run file reads thusly. #!/bin/sh QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE VPOPMAILUID=`id -u vpopmail` VPOPMAILGID=`id -g vpopmail` MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` LOCAL=`head -1 /var/qmail/control/me` QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1 fi exec /usr/local/bin/softlimit -m 15000000 \ /usr/local/bin/tcpserver \ -H -l server.example.com \ -v -x /etc/tcp.smtp.cdb \ -c 20 -R -u "$VPOPMAILUID" -g "$VPOPMAILGID" 0 smtp \ /usr/local/bin/rblsmtpd -b -C \ -r 'relays.ordb.org: denied' \ -r 'sbl-xbl.spamhaus.org: denied' \ /var/qmail/bin/qmail-smtpd $LOCAL \ /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1