PHP port of Matt Wrights FormMail.pl WWW form to e-mail gateway
";
}
}
return $content;
}
// mail the content we figure out in the following steps
function mail_it($content, $subject, $email, $recipient) {
mail($recipient, $subject, $content, "From: $email\r\nReply-To: email\r\nX-Mailer: DT_formmail");
}
// take in the body building arguments and build the body tag for page display
function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color) {
if ($title)
echo "$title";
if (!$bgcolor)
$bgcolor = "#FFFFFF";
if (!$text_color)
$text_color = "#000000";
if (!$link_color)
$link_color = "#0000FF";
if (!$vlink_color)
$vlink_color = "#FF0000";
if (!$alink_color)
$alink_color = "#000088";
if ($background)
$background = "background=\"$background\"";
echo
"\n\n";
}
// our mighty error function..
function print_error($reason,$type = 0) {
build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color);
// for missing required data
if ($type == "missing") {
?>
The form was not submitted for the following reasons:
Please use your browser's back button to return to the form and try again.
} else { // every other error
?>
The form was not submitted because of the following reasons:
}
echo "
\n";
exit;
}
// check for a recipient email address and check the validity of it
if (!eregi( "^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $recipient)) {
print_error( "I NEED VALID RECIPIENT EMAIL ADDRESS TO CONTINUE");
}
// handle the required fields
if ($require) {
// seperate at the commas
$require = ereg_replace( " +", "", $require);
$required = split( ",",$require);
for ($i=0;$iemail address is invalid");
}
$EMAIL = $email;
}
// check zipcodes for validity
if (($ZIP_CODE) || ($zip_code)) {
$zip_code = trim($zip_code);
if ($ZIP_CODE)
$zip_code = trim($ZIP_CODE);
if (!ereg( "(^[0-9]{5})-([0-9]{4}$)", $zip_code)) {
if (!ereg( "(^[0-9]{5})", $zip_code)) {
print_error( "your zip code is invalid");
}
}
}
// check phone for validity
if (($PHONE_NO) || ($phone_no)) {
$phone_no = trim($phone_no);
if ($PHONE_NO)
$phone_no = trim($PHONE_NO);
if (!ereg( "(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $phone_no)) {
print_error( "your phone number is invalid");
}
}
// check phone for validity
if (($FAX_NO) || ($fax_no)) {
$fax_no = trim($fax_no);
if ($FAX_NO)
$fax_no = trim($FAX_NO);
if (!ereg( "(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $fax_no)) {
print_error( "your fax number is invalid");
}
}
// prepare the content
$content = parse_form($HTTP_POST_VARS);
// if the env_report option is on: get eviromental variables
if ($env_report) {
$env_report = ereg_replace( " +", "", $env_report);
$env_reports = split( ",",$env_report);
$content .= "------ eviromental variables ------";
for ($i=0;$i