Why not adopt me?
NAME
TheSchwartz::Worker::SendEmail - sends email using SMTP
SYNOPSIS
use TheSchwartz;
use TheSchwartz::Worker::SendEmail;
TheSchwartz::Worker::SendEmail->set_HELO("example.com");
my $sclient = TheSchwartz->new(databases => \@Conf::YOUR_DBS);
$sclient->can_do("TheSchwartz::Worker::SendEmail");
$sclient->work; # main loop of program; goes forever, sending email
DESCRIPTION
This is a worker class for sending email (designed for lots of email) using TheSchwartz job queue and a slightly-tweaked subclass of Net::SMTP. See TheSchwartz for more information.
JOB ARGUMENTS
When constructing a SendEmail job using TheSchwartz's insert_job method, construct your TheSchwartz::Job instance with its 'argument' of the following form:
{
# recipients:
rcpts => [ $email1, $email2, ... ],
env_from => $envelope_from_address,
data => $headers_and_body_as_big_string,
}
Note that "Bcc:" headers will be removed, and a "Message-ID" header will be added if not present, but nothing else is magical. This module does no MIME, etc. There are other modules for that.
CLASS METHODS
set_resolver
TheSchwartz::Worker::SendEmail->set_resolver($net_dns_resolver_obj)
Sets the DNS resolver object to use. By default, just uses a new Net::DNS::Resolver.
set_HELO
TheSchwartz::Worker::SendEmail->set_HELO("example.com");
Sets the domain to announce in your HELO.
set_on_5xx
TheSchwartz::Worker::SendEmail->set_on_5xx(sub {
my ($email, $thesch_job, $smtp_code_space_message) = @_;
});
Set a subref to be run upon encountering a 5xx error. Arguments to your subref are the email address, TheSchwartz::Job object, and a scalar string of the form "SMTP_CODE SMTP_MESSAGE". The return value of your subref is ignored.
AUTHOR
Brad Fitzpatrick -- brad@danga.com
COPYRIGHT, LICENSE, and WARRANTY
Copyright 2006-2007, SixApart, Ltd.
License to use under the same terms as Perl itself.
This software comes with no warranty of any kind.