Jump to content

mansfiem

New Members
  • Posts

    1
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

mansfiem's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. I am having getting the formmail for an online registration form to work properly. I keep getting an error message like this whenever I try and submit the information: There was an unknown error while checking the recipients email address. Here is the formmail.php I am using: <?php /* Copyright © 2002 Eli Sand */ /* Modified 02.08.2006 by Nitrogen Design */ /* [a href=\"http://www.nitrogendesign.com\" target=\"_blank\"]http://www.nitrogendesign.com[/a] */ ######################################################################## # # # PHP FormMail v2.0 20030305 # # # ######################################################################## # # Settings # # Initialize variables # $auth = NULL; $deny = NULL; $must = NULL; $post = NULL; $http = NULL; $form = NULL; $list = NULL; # Fix for pre PHP 4.1.x versions # if (!isset($_POST)) { $_POST = &$HTTP_POST_VARS; } if (!isset($_SERVER)) { $_SERVER = &$HTTP_SERVER_VARS; } if (!function_exists('array_key_exists')) { function array_key_exists($key, $array) {return in_array($key, array_keys($array)) ? true : false;} } # Fix for magic quotes when enabled # if (get_magic_quotes_gpc()) { foreach ($_POST as $key => $value) { $_POST["$key"] = stripslashes($value); } } # Detect any Windows operating system # if (strstr(php_uname(), 'Windows')) { $IS_WINDOWS = TRUE; } else { $IS_WINDOWS = FALSE; } ######################################################################## # # # USER CONFIGURABLE SETTINGS # # # ######################################################################## # Authorized email address masks that can be used as the recipient # $auth = "*@127.0.0.1, *@localhost"; # Authorize all email addresses to the current domain # # If you want strict email account authorization, comment this out and # the script will only authorize the masks in the list defined above. # $auth .= ", *@" . get_domain($_SERVER['SERVER_NAME']); # Email address masks that will be rejected if in the email field # $deny = "nobody@*, anonymous@*, postmaster@*"; # The following allow you to set some default settings # # These are commented out by default and when used, either override or # append to any values. This allows you to ensure that hackers don't # post their own values to certain fields, making you miss out on # important data that you want to ensure is included in the email. # #$must['required'] = "env_report"; #$must['env_report'] = "REMOTE_ADDR"; #$must['redirect'] = "http://my.domain.com/ok.html"; #$must['error_redirect'] = "http://my.domain.com/error.html"; #$must['missing_fields_redirect'] = "http://my.domain.com/missing.html"; # ######################################################################## ######################################################################## # # # DO NOT EDIT ANYTHING PAST THIS POINT # # # ######################################################################## ######################################################################## # # Functions # # Trim leading and trailing white space from array values # function array_trim(&$value, $key) { $value = trim($value); } # Return the top level domain of a hostname # function get_domain($string) { if (eregi('\.?([a-zA-Z0-9\-]+\.?[a-zA-Z0-9\-]+)$', $string, $values)) { return $values[1]; } return NULL; } function get_emailDomain($string) { list($emailUser, $emailDomain) = split("@",$string); return $emailDomain; } # Show an error message to the user # function error_msg($error, $required = FALSE) { global $post; if (!empty($post['missing_fields_redirect']) && $required) { header('Location: ' . $post['missing_fields_redirect']); } elseif (!empty($post['error_redirect'])) { header('Location: ' . $post['error_redirect']); } else { echo "<html>\r\n"; echo "\t<head>\r\n"; echo "\t\t<title>Form Error</title>\r\n"; echo "\t\t<style type=\"text/css\">* {font-family: \"Verdana\", \"Arial\", \"Helvetica\", monospace;}</style>\r\n"; echo "\t</head>\r\n"; echo "\t<body>\r\n"; echo "\t\t<p>${error}</p>\r\n\t\t<p><small>« <a href=\"javascript: history.back();\">go back</a></small></p>\r\n"; echo "\t</body>\r\n"; echo "</html>\r\n"; } exit(); } # Basic pattern matching on an entire array # function pattern_grep($input, $array) { foreach ($array as $value) { $value = addcslashes($value, '^.[]$()|{}\\'); $value = str_replace('*', '.*', $value); $value = str_replace('?', '.?', $value); $value = str_replace('+', '.+', $value); if (eregi('^' . $value . '$', $input)) { return TRUE; } } return FALSE; } # ######################################################################## ######################################################################## # # Main # # Check to make sure the info was posted # if ($_SERVER['REQUEST_METHOD'] == 'POST') { $post = array( 'recipient' => $_POST['recipient'], 'email' => $_POST['email'], 'subject' => $_POST['subject'], 'realname' => $_POST['realname'], 'required' => $_POST['required'], 'env_report' => $_POST['env_report'], 'sort' => $_POST['sort'], 'redirect' => $_POST['redirect'], 'error_redirect' => $_POST['error_redirect'], 'missing_fields_redirect' => $_POST['missing_fields_redirect'] ); $http = array( 'REMOTE_USER' => $_SERVER['REMOTE_USER'], 'REMOTE_ADDR' => $_SERVER['REMOTE_ADDR'], 'HTTP_USER_AGENT' => $_SERVER['HTTP_USER_AGENT'] ); if (isset($must['required'])) { $post['required'] = $must['required'] . ',' . $_POST['required']; } if (isset($must['env_report'])) { $post['env_report'] = $must['env_report'] . ',' . $_POST['env_report']; } if (isset($must['redirect'])) { $post['redirect'] = $must['redirect']; } if (isset($must['error_redirect'])) { $post['error_redirect'] = $must['error_redirect']; } if (isset($must['missing_fields_redirect'])) { $post['missing_fields_redirect'] = $must['missing_fields_redirect']; } if (($auth = explode(',', $auth))) { array_walk($auth, 'array_trim'); } if (($deny = explode(',', $deny))) { array_walk($deny, 'array_trim'); } # Check for missing required fields # if ((!empty($post['required'])) && ($list = explode(',', $post['required']))) { $list[] = 'recipient'; $list[] = 'email'; array_walk($list, 'array_trim'); foreach ($list as $value) { if (!empty($value) && empty($_POST["$value"])) { error_msg("You have left a required field blank.", TRUE); } } } # Check the email addresses submitted # if (pattern_grep($post['email'], $deny)) { error_msg("You have specified a banned email address."); } if (!eregi('^([a-zA-Z0-9\.\_\-]+)\@((([a-zA-Z0-9\-]+)\.)+([a-zA-Z]+))$', $post['email'])) { error_msg("You have specified an invalid email address."); } if (!$IS_WINDOWS) { if (!getmxrr(get_emailDomain($post['email']), $mxhost)) { error_msg("You have no mail exchange records for your email address."); } } # Check if the recipients email address is authorized # if ((!empty($post['recipient'])) && ($list = explode(',', $post['recipient']))) { array_walk($list, 'array_trim'); foreach ($list as $value) { if (!eregi('^([a-zA-Z0-9\.\_\-]+)\@((([a-zA-Z0-9\-]+)\.)+([a-zA-Z]+))$', $value)) { error_msg("The recipients email address is invalid."); } if (!pattern_grep($value, $auth)) { error_msg("The recipients email address is unauthorized."); } } } else { error_msg("There was an unknown error while checking the recipients email address."); } # Sort the fields # if ((!empty($post['sort'])) && ($list = explode(',', $post['sort']))) { array_walk($list, 'array_trim'); foreach ($list as $value) { $form["$value"] = $_POST["$value"]; } } else { $form = $_POST; } # Create the message # $subject = empty($post['subject']) ? "Online form" : "Online form: " . $post['subject']; $message = "Submitted by: " . $post['realname'] . " <" . $post['email'] . "> on " . date('l, F jS, Y @ g:i:s a (O)') . "\r\n\r\n"; if (!empty($post['env_report'])) { if (($list = explode(',', $post['env_report']))) { $message .= "Client Variables\r\n"; $message .= "----------------\r\n\r\n"; array_walk($list, 'array_trim'); foreach ($list as $value) { if (array_key_exists($value, $http)) { $message .= "${value}:\r\n" . $http["$value"] . "\r\n\r\n"; } } } } $message .= "Online Form Fields\r\n"; $message .= "------------------\r\n\r\n"; foreach ($form as $key => $value) { if (!array_key_exists($key, $post)) { $message .= "${key}:\r\n${value}\r\n\r\n"; } } # Send out the email # if (mail($post['recipient'], $subject, $message, "From: " . $post['email'] . "\r\nReply-To: " . $post['email'] . "\r\nX-Mailer: PHP FormMail")) { if (!empty($post['redirect'])) { header('Location: ' . $post['redirect']); } else { echo "<html>\r\n"; echo "\t<head>\r\n"; echo "\t\t<title>Thank you</title>\r\n"; echo "\t\t<style type=\"text/css\">* {font-family: \"Verdana\", \"Arial\", \"Helvetica\", monospace;}</style>\r\n"; echo "\t</head>\r\n"; echo "\t<body>\r\n"; echo "\t\t<p>Thank you for filling out the form.</p>\r\n\t\t<p><small>« <a href=\"javascript: history.back();\">go back</a></small></p>\r\n"; echo "\t</body>\r\n"; echo "</html>\r\n"; } } else { error_msg("There was an unknown error while sending email."); } } else { error_msg("Invalid request method used."); } # ######################################################################## ?>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.