Jump to content

Headshot

New Members
  • Posts

    8
  • Joined

  • Last visited

    Never

Everything posted by Headshot

  1. OK, I've found an error in the log of my SMTP server showing that authentication isn't being given when the form attempts to send email. I've added in c:\php\php.ini authentication as given by "some" website: [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 username = user password = pass but it is still failing. Can anyone help with how / where to setup correct authentication, or is it impossible to do with [mail function]? as Pikachu2000 said below? If it is impossible, can anyone help me re-configure the form to use something that does support authenticaiton?
  2. I'll try that now - question aside - how does this form actually send email? I.e is it using a SMTP server somewhere? or is it all built into the code?
  3. Thanks Spiderwell, I added this in (obviously changing the "sending@from.com" bit to an actual email address): # Send out the email ini_set("sendmail_from", "sending@from.com"); if (mail($post['recipient'], $subject, $message, "From: " . $post['email'] . "\r\nReply-To: " . $post['email'] . "\r\nX-Mailer: PHP FormMail")) { but it made no difference sadly. RE: php.ini - I cannot find this file anywhere, wondering if that may be a big part of the issue?
  4. Thanks Chaseman, it's a bit of both really, I'm eager to learn, but in the pre-learning stage I just need to get the bit I'm stuck with finished, then I can get on and learn at my own pace.
  5. Could anyone offer any help / advice on how to implement the above into "formmail.php"? Bear in mind that I know nothing! Many thanks,
  6. [Apologies for the double post, I have already posted this question in the "PHP Coding Help" section, it was suggested to post it here in the "3rd Party PHP Scripts" section as well.] Hi all, I am a total beginner at pretty much everything to do with Web development, but sadly especially beginner at PHP. I'm keen to learn though (even it if takes me a while to understand!). I am trying to add a simple form to a webpage that allows a visitor to fill in their name, then their email address plus a couple of other fields and click on a "submit" button. This will then send a basic email with the users information to a set email address. I've downloaded and installed "Formmail.php" into my website, I've created some inputs in the HTML, the HTML loads fine, I can see the form fields, but for the love of all things holy when I click "submit" I cannot get it to send email out. I am totally ignorant at how PHP (or any other scripting language) works, and especially ignorant at how Formmail.php works. I cannot figure out where it is asking for any SMTP server to use to send email (is it even using one?), or how it is is sending email? I realise the error I'm getting is something to do with authentication, but can't see how to get it to authenticate properly? I have an SMTP server I can use (if needed), with authentication credentials ready - but as said above, ignorance of how this is supposed to work is playing a big part with my failures here. The specific error I get when clicking on the "submit" button is this: Warning: mail() [function.mail]: SMTP server response: 530 SMTP authentication is required. in D:\Websites\synergytraining.co.uk\formmail.php on line 224 There was an unknown error while sending email. « go back So I guess it cannot authenticate with the email address I want to send to? I'm unsure as to how to do this though. I have tried changing some of the User Config setting below to no avail - I'd really appreciate some kind soul to help me please. Current Formmail.php code I have installed is below. Kind regards in advance. <?php /** * PHP version 5 */ # Copyright (c) 2002 Eli Sand # PHP FormMail v2.0 20030305 # Initialize variables $auth = NULL; $deny = NULL; $must = NULL; $post = NULL; $http = NULL; $form = NULL; $list = NULL; # 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; } # USER CONFIGURABLE SETTINGS # Authorized email address masks that can be used as the recipient $auth = "*@127.0.0.1, *@localhost, *@".str_replace('www.','',$_SERVER['SERVER_NAME']); # Email address masks that will be rejected if in the email field # $deny = "nobody@*, anonymous@*, postmaster@*"; # 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); } # 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'); } if ($_POST['security_code'] != $_SESSION['security_code']) { error_msg("Invalid security code."); } else { unset($_POST['security_code']); unset($_SESSION['security_code']); } # 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."); } # 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']) ? "Web Reply" : $post['subject']; foreach ($form as $key => $value) { if (!array_key_exists($key, $post)) { $message .= "${key}: ${value}\r\n\r\n"; } } $message .= "Submitted by: <" . $post['email'] . "> on " . date('l, F jS, Y @ g:i:s a (O)') . "\r\n"; if (!empty($post['env_report'])) { if (($list = explode(',', $post['env_report']))) { $message .= "Sender Details:\r\n"; array_walk($list, 'array_trim'); foreach ($list as $value) { if (array_key_exists($value, $http)) { $message .= "\t${value}: " . $http["$value"] . "\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.");
  7. Thank you Spiderwell, I will have a look at that and also re-post over in the 3rd party scripts section.
  8. Hi all, I am a total beginner at pretty much everything to do with Web development, but sadly especially beginner at PHP. I'm keen to learn though (even it if takes me a while to understand!). I am trying to add a simple form to a webpage that allows a visitor to fill in their name, then their email address plus a couple of other fields and click on a "submit" button. This will then send a basic email with the users information to a set email address. I've downloaded and installed "Formmail.php" into my website, I've created some inputs in the HTML, the HTML loads fine, I can see the form fields, but for the love of all things holy when I click "submit" I cannot get it to send email out. I am totally ignorant at how PHP (or any other scripting language) works, and especially ignorant at how Formmail.php works. I cannot figure out where it is asking for any SMTP server to use to send email (is it even using one?), or how it is is sending email? I realise the error I'm getting is something to do with authentication, but can't see how to get it to authenticate properly? I have an SMTP server I can use (if needed), with authentication credentials ready - but as said above, ignorance of how this is supposed to work is playing a big part with my failures here. The specific error I get when clicking on the "submit" button is this: Warning: mail() [function.mail]: SMTP server response: 530 SMTP authentication is required. in D:\Websites\synergytraining.co.uk\formmail.php on line 224 There was an unknown error while sending email. « go back So I guess it cannot authenticate with the email address I want to send to? I'm unsure as to how to do this though. I have tried changing some of the User Config setting below to no avail - I'd really appreciate some kind soul to help me please. Current Formmail.php code I have installed is below. Kind regards in advance. <?php /** * PHP version 5 */ # Copyright (c) 2002 Eli Sand # PHP FormMail v2.0 20030305 # Initialize variables $auth = NULL; $deny = NULL; $must = NULL; $post = NULL; $http = NULL; $form = NULL; $list = NULL; # 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; } # USER CONFIGURABLE SETTINGS # Authorized email address masks that can be used as the recipient $auth = "*@127.0.0.1, *@localhost, *@".str_replace('www.','',$_SERVER['SERVER_NAME']); # Email address masks that will be rejected if in the email field # $deny = "nobody@*, anonymous@*, postmaster@*"; # 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); } # 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'); } if ($_POST['security_code'] != $_SESSION['security_code']) { error_msg("Invalid security code."); } else { unset($_POST['security_code']); unset($_SESSION['security_code']); } # 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."); } # 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']) ? "Web Reply" : $post['subject']; foreach ($form as $key => $value) { if (!array_key_exists($key, $post)) { $message .= "${key}: ${value}\r\n\r\n"; } } $message .= "Submitted by: <" . $post['email'] . "> on " . date('l, F jS, Y @ g:i:s a (O)') . "\r\n"; if (!empty($post['env_report'])) { if (($list = explode(',', $post['env_report']))) { $message .= "Sender Details:\r\n"; array_walk($list, 'array_trim'); foreach ($list as $value) { if (array_key_exists($value, $http)) { $message .= "\t${value}: " . $http["$value"] . "\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.