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>