Click to See Complete Forum and Search --> : Test script for sendmail.


bondi
07-08-2007, 04:14 AM
Hi
I am using this simple guestbook script (available from a website) and form to test if sendmail is working on the server. The IP provider informs me that sendmail is available on the server but no email is being sent when I fill the form and submit it. Will someone please test the script and let me know if it sends an email. I placed the form here after the script.

script

#!/usr/bin/perl

# That is the path to PERL just above It MUST be first in the script
# The following accepts the data from the form

if ($ENV{'REQUEST_METHOD'} eq 'POST') {

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$FORM{$name} = $value;
}



# The following sends the email

open (MESSAGE,"| /bin/sendmail -t");
print MESSAGE "To: $FORM{submitaddress}\n";
print MESSAGE "From: $FORM{name}\n";
print MESSAGE "Reply-To: $FORM{email}\n";
print MESSAGE "Subject: Feedback from $FORM{name} at $ENV{'REMOTE_HOST'}\n\n";
print MESSAGE "The user wrote:\n\n";
print MESSAGE "$FORM{feedback}\n";
close (MESSAGE);

&thank_you;
}

#print "$FORM{email}";
#print "$FORM{submitaddress}";

#The following creates the Thank You page display

sub thank_you {

print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>Thank You!</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=#FFFFCC TEXT=#000000>\n";
print "<H1>Thank You!</H1>\n";
print "\n";
print "<P>\n";
print "<H3>Your feedback is greatly appreciated.<BR>\n";
print "<P>\n";
print "$FORM{name}";# Just to test that form field content has been processed correctly.
print "<br>";
print "$FORM{email}";# Just to test that form field content has been processed correctly.
print "<br>";
print "$FORM{submitaddress}";# Just to test that form field content has been processed correctly.
print "<br>";
print "$FORM{feedback}";# Just to test that form field content has been processed correctly.
print "</BODY>\n";
print "</HTML>\n";
exit(0);
}




Form
<HTML>
<HEAD>
<TITLE>Guestbook Script</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<FORM METHOD="post" ACTION="/cgi-bin/gb.pl">
<INPUT NAME="name" SIZE=50 TYPE="text"> <B>Your Name</B><BR>
<INPUT NAME="email" SIZE=50 TYPE="text"> <B>Your E-Mail Address</B><BR>
<INPUT TYPE="hidden" NAME="submitaddress" VALUE="youremail@yourwebsite.com">
<B>Write to me below:</B><P>
<TEXTAREA NAME="feedback" ROWS=10 COLS=50></TEXTAREA><P>
<CENTER>
<INPUT TYPE=submit VALUE="SEND">
<INPUT TYPE=reset VALUE="CLEAR">
</CENTER>
</FORM>
</BODY>
</HTML>