Send Email with Mail::Mailer
The Mail::Mailer module interacts with external mail programs. When you use Mail::Mailer or create a new Mail::Mailer object, you can specify which mail program you want your program to talk to:
use Mail::Mailer qw(mail);
Another way to specify the mailer is:
use Mail::Mailer; $type = 'sendmail'; $mailprog = Mail::Mailer->new($type);
in which $type
is the mail
program. Once you’ve created a new object, use the open
function to send the message headers
to the mail program as a hash of key/value pairs, in which each key
represents a header type, and the value is the value of that
header:
# Mail headers to use in the message %headers = ( 'To' => 'you@mail.somename.com', 'From' => 'me@mail.somename.com', 'Subject' => 'working?' );
This code represents headers in which the recipient of the mail message is you@mail.somename.com, the mail was sent from me@mail.somename.com, and the subject of the mail message is working?.
Once %headers
has been
defined, it is passed to open
:
$mailprog->open(\%headers);
You then send the body of the message to the mail program:
print $mailprog "This is the message body.\n";
Close the program when the message is finished:
$mailprog->close;
A practical example of using Mail::Mailer might be a command line-driven application that works much like the Unix mail program, either reading STDIN until end-of-file or mailing a file specified on the command line.
Mail::Mailer uses the environment variable PERL_MAILERS to augment or modify the built-in ...
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.