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]>

Reply via email to