Mail::Mailer - send simple emails
Mail::Mailer
is an IO::Handle
use Mail::Mailer;
use Mail::Mailer qw(mail); # specifies default mailer
$mailer = Mail::Mailer->new;
$mailer = Mail::Mailer->new($type, @args);
$mailer->open(\%headers);
print $mailer $body;
$mailer->close
or die "couldn't send whole message: $!\n";
Sends mail using any of the built-in methods. As TYPE argument to new(),
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 = Mail::Mailer->new('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".
[added 2.21] You may also use the
"StartTLS => 1" options to upgrade
the connection with STARTTLS. You need
"libnet" version 1.28 (2014) for this
to work.
You may also use the "Auth => [
$user, $password ]" option for SASL authentication. To make
this work, you have to install the Authen::SASL distribution yourself:
it is not automatically installed.
- "smtps"
- This option is deprecated when you have
"libnet" 1.28 (2014) and above.
Use the smtp over ssl protocol via Net::SMTP::SSL to deliver
the mail. Usage is identical to
"smtp". You have to install
Authen::SASL as well.
$mailer = Mail::Mailer->new('smtps', Server => $server);
- "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.
- Mail::Mailer->new($type, %options)
- The $type is one of the back-end sender
implementations, as described in the DESCRIPTION chapter of this manual
page. The %options are passed to that
back-end.
- $obj->open(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']").
- PERL_MAILERS
- 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::Mailer does not help with folding, and does not protect against various
web-script hacker attacks, for instance where a new-line is inserted in the
content of the field.
This module is part of the MailTools distribution,
http://perl.overmeer.net/mailtools/.
The MailTools bundle was developed by Graham Barr. Later, Mark Overmeer took
over maintenance without commitment to further development.
Mail::Cap by Gisle Aas <aas@oslonett.no>.
Mail::Field::AddrList by Peter Orbaek <poe@cit.dk>. Mail::Mailer and
Mail::Send by Tim Bunce <Tim.Bunce@ig.co.uk>. For other contributors
see ChangeLog.
Copyrights 1995-2000 Graham Barr <gbarr@pobox.com> and 2001-2017 Mark
Overmeer <perl@overmeer.net>.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself. See
http://www.perl.com/perl/misc/Artistic.html