Проблема конфигурации с контактной формой PHP

Я видел, что в StackOverflow есть много похожих на мои вопросы, но я думаю, что пока не смог найти правильного решения моего вопроса.

Проблема, с которой я сталкиваюсь, связана с функциональностью получения электронных писем.связаться с нами раздел сайта, где пользователь может заполнитьhtml на основе формы и нажмитеsend message и это сообщение будет доставлено на мою электронную почту.

Я занимаюсь разработкой с использованием XAMPP и запускаю сервер Apache и Mercury на localhost. Несмотря на успех проверки - электронные письма не проходят.

Я пытался добавитьmethod="post" в раздел HTML, но обнаружил, чтоtype: "POST" уже включен.Дважды проверил, какой порт использует Меркурий, и сравнил его с тем, который указан вphp.ini оба настроены на25.Я также пытался развернуть вСтраницы Bitbucket и Azure для перехода с локального хоста на живой хостинг.

Я внимательно прочитал это очень подробносообщение, Идея загрузить сайт на хостинг пришла из этого поста.

<?php
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$message = trim($_POST['message']);


if( isset($name) && isset($email) ) {

    // Avoid Email Injection and Mail Form Script Hijacking
    $pattern = "/(content-type|bcc:|cc:|to:)/i";
    if( preg_match($pattern, $name) || preg_match($pattern, $email) || preg_match($pattern, $message) ) {
        exit;
    }

    $to = "[email protected]";
    $sub = "$name from Cv";
    // HTML Elements for Email Body
    $body = <<<EOD
    <strong>Name:</strong> $name <br>
    <strong>Email:</strong> <a href="mailto:$email?subject=feedback" "email me">$email</a> <br> <br>
    <strong>Message:</strong> $message <br>
EOD;

    $headers = "From: $name <$email>\r\n";
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    mail($to, $sub, $body, $headers);
}

?>

$("#contact-form-1").submit(function(e) {
  e.preventDefault();
  var success = $(this).find('.email-success'),
      failed = $(this).find('.email-failed'),
      loader = $(this).find('.email-loading'),
      postUrl = $(this).attr('action');

  success.fadeOut(100); failed.fadeOut(100); loader.fadeOut(100);

  var data = {
    name: $(this).find('.contact-name').val(),
    email: $(this).find('.contact-email').val(),
    message: $(this).find('.contact-message').val()
  };

  if ( isValidEmail(data['email']) && (data['message'].length > 1) && (data['name'].length > 1) ) {
    $.ajax({
      type: "POST",
      url: postUrl,
      data: data,
      beforeSend: function() {
        loader.fadeIn(500);
      },
      success: function(data) {
        loader.fadeOut(500);
        failed.fadeOut(500);
        success.delay(500).fadeIn(500);
      },
      error: function(xhr) { // if error occured
        loader.fadeOut(500);
        success.fadeOut(500);
        failed.delay(500).fadeIn(500);
      },
      complete: function() {
        loader.fadeOut(500);
      }
    });
  } else {
    loader.fadeOut(500);
    failed.delay(500).fadeIn(500);
    success.fadeOut(500);
  }

  return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="contact-form-1" action="sendmail.php" method="POST">
  
  <input class="contact-name form-control" type="text" name="name" placeholder="FULL NAME">
  <input class="contact-email form-control" type="text" name="email" placeholder="EMAIL">
  <textarea class="contact-message form-control" name="message" placeholder="MESSAGE" rows="5"></textarea>
  <button class="btn">SEND MESSAGE</button>

</form>

НОТА: Я не написал этот код самостоятельно, как это было предоставлено создателем шаблона. Я связался с создателем шаблона и столкнулся с абсолютно ужасной поддержкой. Это главная причина моего поста здесь.

Ответы на вопрос(1)

Ваш ответ на вопрос