Mail::Mailer - Simple interface to electronic mailing mechanisms
use Mail::Mailer; use Mail::Mailer qw(mail); # specifies default mailer $mailer = new Mail::Mailer; $mailer = new Mail::Mailer $type, @args; $mailer->open(\%headers); print $mailer $body; $mailer->close;
Sends mail using any of the built-in methods. As $type you can specify any of:
$type
sendmail
smtp
Use the smtp protocol via Net::SMTP to deliver the mail. The server to use can be specified in @args with
@args
$mailer = new Mail::Mailer 'smtp', Server => $server;
The smtp mailer does not handle Cc and Bcc lines, neither their Resent-* fellows. The Debug options enables debugging output from Net::SMTP.
Cc
Bcc
Resent-*
Debug
Net::SMTP
You may also use the Auth => [ $user, $password ] option for SASL authentication (requires Authen::SASL and MIME::Base64).
Auth => [ $user, $password ]
qmail
Use qmail's qmail-inject program to deliver the mail.
testfile
Used for debugging, this displays the data to the file named in $Mail::Mailer::testfile::config{outfile} which defaults to a file named mailer.testfile. No mail is ever sent.
$Mail::Mailer::testfile::config{outfile}
mailer.testfile
Mail::Mailer will search for executables in the above order. The default mailer will be the first one found.
Mail::Mailer
new can optionally be given a $type, which is one sendmail, mail, ... given above.
new
mail
open is given a reference to a hash. The hash consists of key and value pairs, the key being the name of the header field (eg, To), and the value being the corresponding contents of the header field. The value can either be a scalar (eg, gnat@frii.com) or a reference to an array of scalars (eg, ['gnat@frii.com', 'Tim.Bunce@ig.co.uk']).
open
To
gnat@frii.com
eg, ['gnat@frii.com', 'Tim.Bunce@ig.co.uk']
Assist formatting of fields in ...::rfc822:send_headers to ensure valid in the face of newlines and longlines etc.
Secure all forms of send_headers() against hacker attack and invalid contents. Especially "\n~..." in ...::mail::send_headers.
Augments/override the build in choice for binary used to send out our mail messages.
Format:
"type1:mailbinary1;mailbinary2;...:type2:mailbinaryX;...:..."
Example: assume you want you use private sendmail binary instead of mailx, one could set PERL_MAILERS to:
PERL_MAILERS
"mail:/does/not/exists:sendmail:$HOME/test/bin/sendmail"
On systems which may include : in file names, use | as separator between type-groups.
:
|
"mail:c:/does/not/exists|sendmail:$HOME/test/bin/sendmail"
Mail::Send
Maintained by Mark Overmeer <mailtools@overmeer.net>
Original code written by Tim Bunce <Tim.Bunce@ig.co.uk>, with a kick start from Graham Barr <gbarr@pobox.com>. With contributions by Gerard Hickey <hickey@ctron.com> Small fix and documentation by Nathan Torkington <gnat@frii.com>.
To install Mail::Cap, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mail::Cap
CPAN shell
perl -MCPAN -e shell install Mail::Cap
For more information on module installation, please visit the detailed CPAN module installation guide.