=head1 NAME
Mail::Mailer - Simple interface to electronic mailing mechanisms
=head1 INHERITANCE
Mail::Mailer
is a IO::Handle
=head1 SYNOPSIS
$mailer
= Mail::Mailer->new;
$mailer
= Mail::Mailer->new(
$type
,
@args
);
$mailer
->
open
(\
%headers
);
print
$mailer
$body
;
$mailer
->
close
;
=head1 DESCRIPTION
Sends mail using any of the built-in methods. As TYPE argument
to L<new()|Mail::Mailer/
"Constructors"
>, you can specify any of
=over 4
=item C<sendmail>
Use the C<sendmail> program to deliver the mail.
=item C<smtp>
Use the C<smtp> protocol via Net::SMTP to deliver the mail. The server
to
use
can be specified in C<
@args
>
with
$mailer
= Mail::Mailer->new(
'smtp'
,
Server
=>
$server
);
The smtp mailer does not handle C<Cc> and C<Bcc> lines, neither their
C<Resent-*> fellows. The C<Debug> options enables debugging output
from C<Net::SMTP>.
You may also
use
the C<<
Auth
=> [
$user
,
$password
] >> option
for
SASL
authentication (requires L<Authen::SASL> and L<MIME::Base64>).
=item C<qmail>
Use qmail's qmail-inject program to deliver the mail.
=item C<testfile>
Used
for
debugging, this displays the data to the file named in
C<
$Mail::Mailer::testfile::config
{outfile}> which defaults to a file
named C<mailer.testfile>. No mail is ever sent.
=back
C<Mail::Mailer> will search
for
executables in the above order. The
default
mailer will be the first one found.
=head1 METHODS
=head2 Constructors
Mail::Mailer-E<gt>B<new>(TYPE, ARGS)
=over 4
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.
=back
$obj
-E<gt>B<
open
>(HASH)
=over 4
The HASH consists of key and value pairs, the key being the name of
the header field (eg, C<To>), and the value being the corresponding
contents of the header field. The value can either be a
scalar
(eg, C<gnat
@frii
.com>) or a reference to an array of scalars
(C<< eg, [
'gnat@frii.com'
,
'Tim.Bunce@ig.co.uk'
] >>).
=back
=head1 DETAILS
=head2 ENVIRONMENT VARIABLES
=over 4
=item 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 C<PERL_MAILERS> to:
"mail:/does/not/exists:sendmail:$HOME/test/bin/sendmail"
On systems which may include C<:> in file names,
use
C<|> as separator
between type-groups.
"mail:c:/does/not/exists|sendmail:$HOME/test/bin/sendmail"
=back
=head2 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.
=head1 SEE ALSO
This module is part of the MailTools distribution,
=head1 AUTHORS
The MailTools bundle was developed by Graham Barr. Later, Mark
Overmeer took over maintenance without development.
Mail::Cap by Gisle Aas E<lt>aas
@oslonett
.noE<gt>.
Mail::Field::AddrList by Peter Orbaek E<lt>poe
@cit
.dkE<gt>.
Mail::Mailer and Mail::Send by Tim Bunce E<lt>Tim.Bunce
@ig
.co.ukE<gt>.
For other contributors see ChangeLog.
=head1 LICENSE
Copyrights 1995-2000 Graham Barr E<lt>gbarr
@pobox
.comE<gt> and
2001-2007 Mark Overmeer E<lt>perl
@overmeer
.netE<gt>.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.