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 first setting until it is reset.
Email::Send
Net::SMTP
send
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.
Net::SMTP->new()
username
password
Net::SMTP->auth()
ssl
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.
Return::Value
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.
bad
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 Return::Value.
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.
get_env_sender
get_env_recipients
Email::Send, Net::SMTP, Net::SMTP::SSL, Email::Address, Return::Value, perl.
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.
To install Email::Send, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Email::Send
CPAN shell
perl -MCPAN -e shell install Email::Send
For more information on module installation, please visit the detailed CPAN module installation guide.