Страница контактов не работает должным образом - PullRequest
0 голосов
/ 10 января 2010

Только что присоединился пару минут назад.

Я хотел узнать, сможет ли кто-нибудь сказать мне, почему моя страница контактов не отправляет мне электронные письма.

Моя контактная страница здесь

Я не получаю никаких ошибок. Если вы вводите свою информацию, кажется, что она отправляет ее. Он даже дает вам сообщение о том, что ваше письмо было отправлено. Пока я не получаю никаких писем.

Над Доктипом у меня

Файл 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.

Заранее спасибо за помощь.

Frank

Ответы [ 2 ]

2 голосов
/ 10 января 2010

Попробуйте что-нибудь намного проще:

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

Если оно отправлено, возможно, проблема в сценарии. Если это не так, ваш хост может не поддерживать отправку электронной почты.

0 голосов
/ 03 октября 2010
<?
 $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); 
?>
...