DougieMcN
Technical User
- Sep 16, 2007
- 13
Hi, please can you have a look over my formmail and HTML code below.
The simple form should send client name and telephone number to me from the HTML form via the PERL script but I think I'm missing something.
The only obvious point I can see is I only have my e-mail address in the HTML script and not the Formmail script but I'm not sure where it would go if it is even required.
Both sets of code below and thanks in advance for your help.
FORMMAIL SCRIPT
#!/usr/bin/perl
##############################################################################
# FormMail Version 1.92 #
# Copyright 1995-2002 Matt Wright mattw@scriptarchive.com #
# Created 06/09/95 Last Modified 04/21/02 #
# Matt's Script Archive, Inc.: #
##############################################################################
# COPYRIGHT NOTICE #
# Copyright 1995-2002 Matthew M. Wright All Rights Reserved. #
# #
# FormMail may be used and modified free of charge by anyone so long as this #
# copyright notice and the comments above remain intact. By using this #
# code you agree to indemnify Matthew M. Wright from any liability that #
# might arise from its use. #
# #
# Selling the code for this program without prior written consent is #
# expressly forbidden. In other words, please ask first before you try and #
# make money off of my program. #
# #
# Obtain permission before redistributing this software over the Internet or #
# in any other medium. In all cases copyright and header must remain intact. #
##############################################################################
# ACCESS CONTROL FIX: Peter D. Thompson Yezek #
# #
##############################################################################
# Define Variables #
# Detailed Information Found In README File. #
# $mailprog defines the location of your sendmail program on your unix #
# system. The flags -i and -t should be passed to sendmail in order to #
# have it ignore single dots on a line and to read message for recipients #
$mailprog = '/usr/lib/sendmail -i -t';
# @referers allows forms to be located only on servers which are defined #
# in this field. This security fix from the last version which allowed #
# anyone on any server to use your FormMail script on their web site. #
@referers = ('mywebsite.co.uk','localhost');
# @recipients defines the e-mail addresses or domain names that e-mail can #
# be sent to. This must be filled in correctly to prevent SPAM and allow #
# valid addresses to receive e-mail. Read the documentation to find out how #
# this variable works!!! It is EXTREMELY IMPORTANT. #
@recipients = &fill_recipients('mywebsite.co.uk');
# ACCESS CONTROL FIX: Peter D. Thompson Yezek #
# @valid_ENV allows the sysadmin to define what environment variables can #
# be reported via the env_report directive. This was implemented to fix #
# the problem reported at #
@valid_ENV = ('REMOTE_HOST','REMOTE_ADDR','REMOTE_USER','HTTP_USER_AGENT');
# Done #
HTML FORM SCRIPT
<form class="webform" action=" method="post">
<input type="hidden" name="recipient" value="info@mywebsite.co.uk" />
<input type="hidden" name="subject" value="***Information Request***" />
<input type="hidden" name="redirect" value=" />
<input type="hidden" name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT" />
<label>Name please:</label>
<br />
<input name="name" class="formname" type="text" size="31" maxlength="50" />
<div id="spacer"> </div>
<label>Telephone number please:</label><br />
<input name="telnumber" class="formnumber" type="text" size="31" maxlength="50" />
<div id="spacer"> </div>
<input name="enter" type="button" value="enter" />
</form>
The simple form should send client name and telephone number to me from the HTML form via the PERL script but I think I'm missing something.
The only obvious point I can see is I only have my e-mail address in the HTML script and not the Formmail script but I'm not sure where it would go if it is even required.
Both sets of code below and thanks in advance for your help.
FORMMAIL SCRIPT
#!/usr/bin/perl
##############################################################################
# FormMail Version 1.92 #
# Copyright 1995-2002 Matt Wright mattw@scriptarchive.com #
# Created 06/09/95 Last Modified 04/21/02 #
# Matt's Script Archive, Inc.: #
##############################################################################
# COPYRIGHT NOTICE #
# Copyright 1995-2002 Matthew M. Wright All Rights Reserved. #
# #
# FormMail may be used and modified free of charge by anyone so long as this #
# copyright notice and the comments above remain intact. By using this #
# code you agree to indemnify Matthew M. Wright from any liability that #
# might arise from its use. #
# #
# Selling the code for this program without prior written consent is #
# expressly forbidden. In other words, please ask first before you try and #
# make money off of my program. #
# #
# Obtain permission before redistributing this software over the Internet or #
# in any other medium. In all cases copyright and header must remain intact. #
##############################################################################
# ACCESS CONTROL FIX: Peter D. Thompson Yezek #
# #
##############################################################################
# Define Variables #
# Detailed Information Found In README File. #
# $mailprog defines the location of your sendmail program on your unix #
# system. The flags -i and -t should be passed to sendmail in order to #
# have it ignore single dots on a line and to read message for recipients #
$mailprog = '/usr/lib/sendmail -i -t';
# @referers allows forms to be located only on servers which are defined #
# in this field. This security fix from the last version which allowed #
# anyone on any server to use your FormMail script on their web site. #
@referers = ('mywebsite.co.uk','localhost');
# @recipients defines the e-mail addresses or domain names that e-mail can #
# be sent to. This must be filled in correctly to prevent SPAM and allow #
# valid addresses to receive e-mail. Read the documentation to find out how #
# this variable works!!! It is EXTREMELY IMPORTANT. #
@recipients = &fill_recipients('mywebsite.co.uk');
# ACCESS CONTROL FIX: Peter D. Thompson Yezek #
# @valid_ENV allows the sysadmin to define what environment variables can #
# be reported via the env_report directive. This was implemented to fix #
# the problem reported at #
@valid_ENV = ('REMOTE_HOST','REMOTE_ADDR','REMOTE_USER','HTTP_USER_AGENT');
# Done #
HTML FORM SCRIPT
<form class="webform" action=" method="post">
<input type="hidden" name="recipient" value="info@mywebsite.co.uk" />
<input type="hidden" name="subject" value="***Information Request***" />
<input type="hidden" name="redirect" value=" />
<input type="hidden" name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT" />
<label>Name please:</label>
<br />
<input name="name" class="formname" type="text" size="31" maxlength="50" />
<div id="spacer"> </div>
<label>Telephone number please:</label><br />
<input name="telnumber" class="formnumber" type="text" size="31" maxlength="50" />
<div id="spacer"> </div>
<input name="enter" type="button" value="enter" />
</form>