Mail::SendVarious is a Perl module that will try to send mail multiple ways. First it tries via SMTP. If that doesn't work then it tries using /usr/sbin/sendmail.
The sendmail() function can put together a message header or you can hand it one. Here are the options it can take:
envelope_from
Sets the sender email address. If creating a header, also sets the email address in the From: header if there is no from option.
from
Sets the envelope sender email address if envelope_from isn't set. If creating a header, also sets the email address in the From: header.
From
Set the name over the sender in the From: header.
envelope_to
Sets who the message is sent to.
to
Sets the To: header. Also sets who the message is sent to if envelope_to isn't set.
cc
Sets the Cc: header. Also adds who the message is sent to if envelope_to isn't set.
bcc
Adds to who the message is sent to.
subject
Specifies the Subject: header.
xheader
Specifies extra header lines to be added if a header is generated.
header
Specifies the complete message header. xheader will be ignored. No To:, From:, Cc: or Subject: header will be generated.
body
Specifies the complete message body.
message
Specifies the complete message. header and body arguments will be ignored. No To:, From:, Cc: or Subject: header will be generated.
build_header
Specifies if a header should be generated with To:, From:, Cc: and Subject:. This overrides what what otherwise might happen.
debuglogger
Specifies a function to call for debug output. If not set, no debug output is generated.
errorlogger
Specifies a function to call for error output. If not set, errors are reported on STDERR.
hostlist
Specifies a list of hosts to try to send to via SMTP. This should be an array refrence. If not set, @Mail::SendVarious::mail_hostlist is used. The default for @Mail::SendVarious::mail_hostlist is 127.0.0.1.
mail_command
Specifies a command to use if sending via SMTP fails. This should be an array refrence. If not set, @Mail::SendVarious::mail_command is used. The default for @Mail::SendVarious::mail_command is /usr/sbin/sendmail -oeml -i.
no_rejects
Normally when sending via SMTP, Mail::SendVarious will skip over any recipients that are rejected. Sent no_rejects and the SMTP server will be skipped instead. If no_rejects is not set, then any rejected recipients will end up in @Mail::SendVarious::to_rejected.
The return value from sendmail() is true if the message was sent and false otherwise. If the message was not sent, then the variable Mail::SendVarious::mail_error will be set to a description of the problem.
SYNOPSIS
use Mail::SendVarious;
sendmail(
from => 'user@host',
From => 'First Last',
to => 'user@host, user@host',
cc => 'user@host, user@host',
xheader => 'Some header stuff',
body => 'Some body stuff here'
);
sendmail(
envelope_to => 'user@host, user@host',
message => 'Complete header and body stuff',
);
sendmail(
envelope_to => 'user@host, user@host',
header => 'Complete header stuff',
body => 'Complete body stuff',
);
use Mail::SendVarious qw(make_message);
($from, $message, @envelope_to) = make_message(%args);
Product's homepage
Requirements:
· Perl