联系页面无法正常工作

时间:2010-01-10 04:26:44

标签: php email forms contact

几分钟前加入。

我想知道是否有人可以告诉我为什么我的联系页面没有向我发送电子邮件。

我的联系页面是here

我没有收到任何错误。如果您输入信息,它似乎会发送它。它甚至会向您显示您的电子邮件已发送的消息。但我没有收到任何电子邮件。

我在Doctype之上

formprocess.php的编码方式如下[我为了避免垃圾邮件而取出了我的电子邮件]:

    <?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
  isSuspect($_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);
      }
    }
  }
?>

我不是PHP程序员。我从一个免费提供教程的网站上抓取了这个代码。我的专长是HTML / CSS。最终我会进入PHP。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

尝试更简单的事情:

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

如果发送,则脚本可能是问题。如果不是,那么您的主机可能不支持发送电子邮件。

答案 1 :(得分:-1)

<?
 $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); 
?>