NAME
Email::Send::TheSchwartz - Send Messages using TheSchwartz
SYNOPSIS
use Email::Send;
my $mailer = Email::Send->new({ mailer => 'TheSchwartz' });
$mailer->mailer_args([ databases => [ ... ] ]);
$mailer->send($message);
DESCRIPTION
This mailer for Email::Send
uses TheSchwartz
to send a message via the Schwartz reliable messaging system. The first invocation of send
requires arguments used to initialize a new TheSchwartz
object (a list of databases). Subsequent calls will remember the the first setting until it is reset.
This module is only half of the solution to sending email via TheSchwartz; all this module does is insert email jobs into the database. The other half of the solution comes in TheSchwartz::Worker::SendEmail, a worker class for pulling jobs from the queue in the database, and connecting to the remote servers to send the messages.
All return values from this package are true or false. If false, sending has failed. If true, send succeeded. The return values are Return::Value
objects, however, and contain more information on just what went wrong.
A successful return value also contains more information: it contains a handle for the job that was inserted into the database (a TheSchwartz::JobHandle
object). It can be accessed like this:
my $return = $mailer->send($message);
if ($return) {
my $handle = $return->prop('handle');
...
}
For more information on these return values, see Return::Value.
LICENSE
Email::Send::TheSchwartz
is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR & COPYRIGHT
Except where otherwise noted, Email::Send::TheSchwartz
is Copyright 2007 Six Apart, cpan@sixapart.com. All rights reserved.