|
|
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:
sendmail
Use the sendmail
program to deliver the mail.
smtp
Use the smtp
protocol via Net::SMTP to deliver the mail. The server
to use can be specified in @args
with
$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
.
You may also use the Auth => [ $user, $password ]
option for SASL
authentication (requires the Authen::SASL manpage and the MIME::Base64 manpage).
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
will search for executables in the above order. The
default mailer will be the first one found.
new
can optionally be given a $type
, which
is one sendmail
, mail
, ... given above.
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']
).
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:
"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>.