The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Qmail::Deliverable::Client - Client for qmail-deliverabled

SYNOPSIS

    use Qmail::Deliverable::Client qw(deliverable);

    $Qmail::Deliverable::Client::SERVER = "127.0.0.1:8998";

    if (deliverable "foo@example.com") { ... }

DESCRIPTION

Qmail::Deliverable comes with a daemon program called qmail-deliverabled. This module is a front end to it.

This module requires LWP (libwww-perl), available from CPAN.

Error reporting

The error message for communication failure is reported via a warning, but also available via $Qmail::Deliverable::Client::ERROR.

Configuration

$Qmail::Deliverable::Client::SERVER

IP adress and port of the qmail-deliverabled server, joined by a colon. Defaults to 127.0.0.1:8998, just like the daemon.

This variable can also be assigned a code reference, in which case it is called in scalar context for each remote call, using the returned value.

If the value is undef, then a connection failure is faked, but without the warning.

Functions

All documented functions are exportable, and a tag :all is available for convenience.

Unless documented differently, these functions follow the interfaces described in Qmail::Deliverable.

qmail_local $address

As Qmail::Deliverable::qmail_local. Warns and returns "" on communication failure.

deliverable $address
deliverable $local

As Qmail::Deliverable::deliverable. Warns and returns 0x2f on communication failure.

PERFORMANCE

The server on which I benchmarked this, the client+daemon combination (on localhost) reached 300 deliverability checks per second for assigned/virtual users. Real users are slower: around 150 checks per second.

LEGAL

This software is released into the public domain, and does not come with warranty or guarantee of any kind. Use it at your own risk.

AUTHOR

Juerd Waalboer <#####@juerd.nl>