Hi folks, There's an itch that I've been meaning to scratch for a long time. And now, finally, I have.
The complete package can be downloaded at: http://juerd.nl/files/Qmail-Deliverable-1.00.tar.gz The contents can be browsed at http://juerd.nl/files/Qmail-Deliverable-1.00 Some direct links to relevant files http://juerd.nl/files/Qmail-Deliverable-1.00/qpsmtpd-plugin/check_qmail_deliverable http://juerd.nl/files/Qmail-Deliverable-1.00/lib/Qmail/Deliverable.pm http://juerd.nl/files/Qmail-Deliverable-1.00/bin/qmail-deliverabled http://juerd.nl/files/Qmail-Deliverable-1.00/lib/Qmail/Deliverable/Client.pm (Documentation is at the bottom of most files, at the top of the qpsmtpd plugin.) I guess you all know the benefits of checking address existence in the smtpd, and you've seen some of the plugins that provide this functionality. They weren't ideal for my situation so I wrote my own. Because I also need some of the functionality elsewhere, I put most of the code in a module that I will release to CPAN: Qmail::Deliverable. Checking home directories of users requires root access. Instead of requiring setuid binaries, I chose to use networking instead: a daemon runs as root, and unprivileged users can query it via rpc. The daemon is called qmail-deliverabled, the client module is Qmail::Deliverable::Client. Of course, it would not be complete without a qpsmtpd plugin. The plugin can be configured to read /var/qmail/smtproutes to figure out which server to ask for the check. In my setup, where one qpsmtpd takes in all mail for several other mail servers, this is ideal. The entire project assumes that if deliverability cannot be determined for any reason, you want to continue trying to deliver the message. I use it mostly to reduce system load caused by spam+virus checking for nonexistent users. Please test this software and let me know if you like it. It works well on my setup, but it's pretty heterogenous. Thanks in advance :) I think this package solves a very common problem. Perhaps distributing it with qpsmtpd would make sense. I hope you like it! -- Met vriendelijke groet, Kind regards, Korajn salutojn, Juerd Waalboer: Perl hacker <[EMAIL PROTECTED]> <http://juerd.nl/sig> Convolution: ICT solutions and consultancy <[EMAIL PROTECTED]>