The mail_form.cgi Script
Example 3-2
shows a simple
script that will take the output of a web form, bundle it up into an
email message, and mail it off to someone. Go ahead and download this
script from the book’s online example repository, at
http://www.elanus.net/book, and
stick it in a suitable location on your web server. If you can
execute CGI scripts anywhere, you can stick it in the same directory
as your HTML form. If you need to put your scripts in a special
location, stick it there, and then be sure to modify the
ACTION attribute of the
<FORM> tag to point to it properly. For
example, if you needed to put the script in a top-level directory on
your server called cgi-bin, you would edit the
<FORM> tag to read: <FORM ACTION="/cgi-bin/mail_form.cgi" METHOD="POST">.
This script is considerably longer than the examples you’ve seen so far. Don’t let that bother you, though. It’s all relatively simple Perl, and I’ll be explaining the whole thing, line by line.
Example 3-2. A simple web form-to-email gateway script
#!/usr/bin/perl -w # mail_form.cgi # bundle up form output and mail it to the specified address # configuration: $sendmail = '/usr/sbin/sendmail'; # where is sendmail? $recipient = 'forms@example.com'; # who gets the form data? $sender = 'forms@example.com'; # default sender? $site_name = 'my site'; # name of site to return to after $site_url = '/return/path/here/'; # URL to return to after # script proper begins... use CGI qw(:standard); # bundle up form submissions ...