I'd use
Mail::Mailer;
sendmail ('god@heaven.com', 'die.puny@earthling.net','Test', 'This is
+a test');
sub sendmail {
my ($from, $to, $subject, $body) = @_;
my $mailer;
eval {
$mailer = Mail::Mailer->new('sendmail');
};
if ($@) {
warn "Couldn't send mail: $@";
} else {
$mailer->open({ From => $from,
To => $to,
Subject => $subject });
print $mailer $body;
unless (close ($mailer)) {
warn "Couldn't close mailer: $!";
}
}
}
Also, check that whichever user is sending the mail is allowed to set the 'From:' field.
For instance, if you're using exim, add them to the '
trusted users' section of
/etc/exim.conf