Listing 1: send-mail.pl

#!/usr/bin/perl -wT
use strict;
use diagnostics;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use Mail::Sendmail;
# Create a new instance of CGI
my $query = new CGI;
# Send a MIME header to the user's browser
print $query->header;
# Get the fields from the HTML form
my $sender = $query->param("sender");
my $recipient = $query->param("recipient");
my $message = $query->param("message");
# Create the mail message
my %mail = (To => $recipient,
       From => $sender,
       Message => $message);
# Send the message
if (sendmail %mail)
{
    # Send some output to the user's browser
    print $query->start_html(-title =>
      "Success!");
    print "<H1>Success!</H1>\n";
    print "<P>The following message was " .
      "successfully sent:</P>\n";
    print "<Form method=\"POST\"".
    action=\"\">\n";
    print "<P><HR></P>\n";
    print "<P>Sender: $sender</P>\n";
    print "<P>Recipient: $recipient</P>\n";
    print "<P>Message:<P></P>";
    print "<textarea rows=\"20\" cols=\"60\">" .
    "$message</textarea></P>\n";
    print "<P><HR></P>\n";
    print "</Form>\n";
    print $query->end_html;
}
else
{
    print "Error sending mail: " .
      "$Mail::Sendmail::error \n";
}