开发者

Contact page not working properly

开发者 https://www.devze.com 2022-12-15 19:20 出处:网络
Just joined a couple of minutes ago. I wanted to see if anyone might be able to tell me why my contact page isn\'t sending me emails.

Just joined a couple of minutes ago.

I wanted to see if anyone might be able to tell me why my contact page isn't sending me emails.

My contact page is here

I don't get any errors. If you enter your info, it seems like it sends it. It even gives you the message that your email has been sent. Yet I don't get any emails.

Above the Doctype I have

The formprocess.php is coded like this [I've taken out my email in order to avoid spam]:

    <?php
include('includes/corefuncs.php');
if (function_exists('nukeMagicQuotes')) {
  nukeMagicQuotes();
  }

// process the email
if (array_key_exists('send', $_POST)) {
  $to = 'info@domain.com'; // use your own email address
  $subject = 'Email from your contact form';

  // list expected fields
  $expected = array('name', 'email', 'comments');
  // set required fields
  $required = array('name', 'email', 'comments');
  // create empty array for any missing fields
  $missing = array();

  // assume that there is nothing suspect
  $suspect = false;
  // create a pattern to locate suspect phrases
  $pattern = '/Content-Type:|Bcc:|Cc:/i';

  // function to check for suspect phrases
  function isSuspect($val, $pattern, &$suspect) {
    // if the variable is an array, loop through each element
    // and pass it recursively back to the same function
    if (is_array($val)) {
      foreach ($val as $item) {
        isSuspect($item, $pattern, $suspect);
        }
      }
    else {
      // if one of the suspect phrases is found, set Boolean to true
      if (preg_match($pattern, $val)) {
        $suspect = true;
        }
      }
    }

  // check the $_POST array and any sub-arrays for suspect content
  is开发者_开发问答Suspect($_POST, $pattern, $suspect);

  if ($suspect) {
    $mailSent = false;
    unset($missing);
    }
  else {
    // process the $_POST variables
    foreach ($_POST as $key => $value) {
      // assign to temporary variable and strip whitespace if not an array
      $temp = is_array($value) ? $value : trim($value);
      // if empty and required, add to $missing array
      if (empty($temp) && in_array($key, $required)) {
        array_push($missing, $key);
        }
      // otherwise, assign to a variable of the same name as $key
      elseif (in_array($key, $expected)) {
        ${$key} = $temp;
        }
      }
    }

  // validate the email address
  if (!empty($email)) {
    // regex to ensure no illegal characters in email address 
    $checkEmail = '/^[^@]+@[^\s\r\n\'";,@%]+$/';
    // reject the email address if it doesn't match
    if (!preg_match($checkEmail, $email)) {
      array_push($missing, 'email');
      }
    }

  // go ahead only if not suspect and all required fields OK
  if (!$suspect && empty($missing)) {
    // build the message
    $message = "Name: $name\n\n";
    $message .= "Email: $email\n\n";
    $message .= "Comments: $comments";

    // limit line length to 70 characters
    $message = wordwrap($message, 70);

    // create additional headers
    /*$additionalHeaders = 'From: Frank Juval Studio Site';
    if (!empty($email)) {
      $additionalHeaders .= "\r\nReply-To: $email";
     }*/

    // send it  
    $mailSent = mail($to, $subject, $message, $additionalHeaders);
    if ($mailSent) {
      // $missing is no longer needed if the email is sent, so unset it
      unset($missing);
      }
    }
  }
?>

I'm no PHP programmer. I grabbed this code from a site that provides it for free with a tutorial. My expertise is HTML/CSS. Eventually I'll get into PHP.

Thanks for the help in advance.

Frank


Try with something much simpler:

mail('youremail@yourdomain.com', 'Subject', 'Message');

If it is sent, then the script might be the problem. If it is not, then your host might not support sending email.


<?
 $destination="mailto:youremail@yourdomain.com";
$name=$_POST['Name'];
$Phone=$_POST['Phone'];
$State=$_POST['State'];
$email=$_POST['Email'];
$mes=$_POST['Message'];
$subject="Message from $name" ;
$mes="Name : $name\n Phone: $Phone\n
Email: $email\n\n Message: $mes\n";
mail($destination,$subject,$mes); 
?>
0

精彩评论

暂无评论...
验证码 换一张
取 消