Email::Send::SMTP - Send Messages using SMTP |
Email::Send::SMTP - Send Messages using SMTP
use Email::Send;
my $mailer = Email::Send->new({mailer => 'SMTP'}); $mailer->mailer_args([Host => 'smtp.example.com:465', ssl => 1]) if $USE_SSL; $mailer->send($message);
This mailer for Email::Send
uses Net::SMTP
to send a message with
an SMTP server. The first invocation of send
requires an SMTP server
arguments. Subsequent calls will remember the the first setting until
it is reset.
Any arguments passed to send
will be passed to Net::SMTP->new()
,
with some exceptions. username
and password
, if passed, are
used to invoke Net::SMTP->auth()
for SASL authentication support.
ssl
, if set to true, turns on SSL support by using Net::SMTP::SSL
.
SMTP can fail for a number of reasons. 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.
Here is an example of dealing with failure.
my $return = send SMTP => $message, 'localhost'; die "$return" if ! $return;
The stringified version of the return value will have the text of the error. In a conditional, a failure will evaluate to false.
Here's an example of dealing with success. It is the case that some
email addresses may not succeed but others will. In this case, the
return value's bad
property is set to a list of bad addresses.
my $return = send SMTP => $message, 'localhost';
if ( $return ) { my @bad = @{ $return->prop('bad') }; warn "Failed to send to: " . join ', ', @bad if @bad; }
For more information on these return values, see the Return::Value manpage.
The envelope sender and recipients are, by default, generated by looking at the
From, To, Cc, and Bcc headers. This behavior can be modified by replacing the
get_env_sender
and get_env_recipients
methods, both of which receive the
Email::Simple object and their only parameter, and return email addresses.
the Email::Send manpage, the Net::SMTP manpage, the Net::SMTP::SSL manpage, the Email::Address manpage, the Return::Value manpage, the perl manpage.
Current maintainer: Ricardo SIGNES, <rjbs@cpan.org>.
Original author: Casey West, <casey@geeknest.com>.
Copyright (c) 2004 Casey West. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Email::Send::SMTP - Send Messages using SMTP |