NAME¶
Mail::Mailer - Simple interface to electronic mailing mechanisms
INHERITANCE¶
Mail::Mailer
is a IO::Handle
SYNOPSIS¶
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";
DESCRIPTION¶
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".
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"
- 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.
METHODS¶
Constructors¶
- Mail::Mailer->new(TYPE, ARGS)
- The TYPE is one of the back-end sender implementations, as
described in the DESCRIPTION chapter of this manual page. The ARGS 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']").
DETAILS¶
ENVIRONMENT VARIABLES¶
- 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"
BUGS¶
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.
SEE ALSO¶
This module is part of the MailTools distribution,
http://perl.overmeer.net/mailtools/.
AUTHORS¶
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.
LICENSE¶
Copyrights 1995-2000 Graham Barr <gbarr@pobox.com> and 2001-2007 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