qmail-smtpd rblsmtpd patch
After customers have a chance to do smtp authentication we check the RELAYCLIENT environment variable. If set then we have an aunthenticated sender and we do not check the rbl lists set in /var/qmail/control/dnsbllist. If RELAYCLIENT is not set then we check the dnsbllist, which can be a list of rbls to check in order.
Using code from the rblsmtpd program inside qmail-smtpd we check in order the rbls. If any reports a listing we defer or fail the email transmission. This happens before the data sending part. So connections from rbl listed IPs will not use network bandwidth transmitting the body of the email. This also avoids the need to run content filters like virus and spam scanners.