#!/usr/bin/perl use CGI::Carp qw(fatalsToBrowser); # The following accepts the data from the form and splits it into its component parts 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; } # Then sends the email open (MESSAGE,"| /usr/sbin/sendmail -t"); print MESSAGE "To: you\@example.com\n"; # Don't forget to escape this @ symbol! print MESSAGE "From: " . $FORM{name} . ", reader\n"; print MESSAGE "Reply-to: " . $FORM{email} . "(" . $FORM{name} . ")\n"; print MESSAGE "Subject: Feedback from $FORM{name} \n\n"; print MESSAGE "$FORM{name} wrote:\n\n"; print MESSAGE "Comment: $FORM{comment}\n\n"; print MESSAGE "Sent by: $FORM{name} ($FORM{email}).\n"; close (MESSAGE); &thank_you; #method call } #The code then goes on to generate the thank-you page sub thank_you { print "Content-type: text/html\n\n"; print <<EndStart; <html> <head> <title>Thank You</title> </head> <body bgcolor="#ffffff" text="#000000"> <h1>Thank You</h1> <p>Your feedback has been received. Thanks for sending it.</p> <hr> EndStart print "<p>You wrote:</p>\n"; print "<blockquote><em>$FORM{comment}</em></blockquote>\n\n"; print <<EndHTML; </body> </html> EndHTML exit(0); }