отправить письмо через php

Впервые здесь для меня

У меня 2 файла (index.html , sendemail.php)

Вindex.html У меня есть код для моей формы

<section id="contact">
<div id="contact-us" class="parallax">
  <div class="container">
    <div class="row">
      <div class="heading text-center col-sm-8 col-sm-offset-2 wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="300ms">
        <h2>Contact Us</h2>
        <p>Request a service , learn about our services</p>
      </div>
    </div>
    <div class="contact-form wow fadeIn" data-wow-duration="1000ms" data-wow-delay="600ms">
      <div class="row">
        <div class="col-sm-6">
          <form id="main-contact-form" name="contact-form" method="post" enctype="multipart/form-data" action="sendemail.php">
            <div class="row  wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="300ms">
              <div class="col-sm-6">
                <div class="form-group">
                  <input type="text" name="name" id="name" class="form-control" placeholder="Name" required="required">
                </div>
              </div>
              <div class="col-sm-6">
                <div class="form-group">
                  <input type="email" name="email" id="email" class="form-control" placeholder="Email Address" required="required">
                </div>
              </div>
            </div>
            <div class="form-group">
              <input type="text" name="subject" id="subject" class="form-control" placeholder="Subject" required="required">
            </div>
            <div class="form-group">
              <textarea name="message" id="message" class="form-control" rows="4" placeholder="Enter your message" required="required"></textarea>
            </div>                        
            <div class="form-group">
              <button type="submit" class="btn-submit" name="submit" id="submit">Send Now</button>
            </div>
          </form>   
        </div>
        <div class="col-sm-6">
          <div class="contact-info wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="300ms">
            <p></p>
            <ul class="address">

              <li><i class="fa fa-phone"></i> <span> Phone:</span> +30 6982 215487  </li>
              <li><i class="fa fa-envelope"></i> <span> Email:</span><a href="mailto:[email protected]"> [email protected]</a></li>
              <li><i class="fa fa-globe"></i> <span> Website:</span> <a href="#">www.mydomain.com</a></li>
            </ul>
          </div>                            
        </div>
      </div>
    </div>
  </div>
</div>        

Вsendemail.php У меня есть код

 $msg = 'Name: ' .$_POST['name'] ."\n" 
.'Email :' .$_POST['email'] ."\n"
    .'Subject: ' .$_POST['subject'] ."\n"
    .'Message: ' .$_POST['message'] ."\n";
     mail('[email protected]','You have one message from mydomain.com', $msg);

Когда я отправляю эту форму, я получаю электронное письмо, но в нем нет значений

Название:
Эл. адрес :
Предмет:
Сообщение:

Где р, проблема с этим кодом?

Спасибо

 kapamarou22 июн. 2016 г., 14:34
Очень крутой santoriginal.com мой домен
 kapamarou22 июн. 2016 г., 14:06
Super Cool я использую хром
 kapamarou22 июн. 2016 г., 14:02
Да, Анант, это код.
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:48
Я спрашиваю, как вы отправляете XHR!
 Anant Singh---Alive to Die22 июн. 2016 г., 14:08
@kapamarou в вашемsendmail.php записыватьecho "<pre/>";print_r($_POST);die; Сразу после<?php, Теперь сохраните его и снова обновите форму и отправьте, заполнив данные и проверив, какие результаты появятся.
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:37
Итак, вы используете XHR. Вы должны были указать на это раньше! Как вы отправляете XHR? Через $ .post?
 Kevin Antala22 июн. 2016 г., 13:47
выведите $ _POST и перепроверьте данные POST
 kapamarou22 июн. 2016 г., 14:55
Да, проблема решена
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:12
@kapamarou Вы отправили форму, в которой ничего не написано? Звучит безумно, но я не могу объяснить, если это не так. Если нет, дайте ваши тестовые значения, пожалуйста
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:04
@kapamarou Какой браузер вы используете?
 kapamarou22 июн. 2016 г., 14:50
я получаю ответ от вас. XHR не тип POST. FINE.
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:22
Это HTML-файл так много? Может быть, дайте нам ссылку на страницу
 Super Cool Handsome Gel Boy22 июн. 2016 г., 13:54
Может быть, изменить кнопку для ввода, может быть, лучше
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:51
Итак, проблема решена?
 kapamarou22 июн. 2016 г., 14:15
Супер круто, я заполняю поля значениями, но по электронной почте, что я получаю значения отсутствуют
 Anant Singh---Alive to Die22 июн. 2016 г., 14:43
@kapamarou я предложу вам перейти на обычный пост формы. это будет легко для вас.
 Ben22 июн. 2016 г., 13:47
Если ты пишешьvar_dump($_POST) вsendemail.php, что ты видишь?
 kapamarou22 июн. 2016 г., 14:30
Super Cool страница не перенаправляет на другую страницу после отправки формы. Просто показывает сообщение над формой -
 kapamarou22 июн. 2016 г., 14:45
Как я должен отправить XHR, если это не правильный путь?
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:38
Потому что XHR не относится к типу POST, как обнаружено сетью. Вот почему ваши данные ничего не возвращают, потому что ничего не отправлено на эту страницу.

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

попробуйте изменить enctype в вашем теге формы

 <form id="main-contact-form" name="contact-form" method="post" enctype="application/x-www-form-urlencoded" action="sendemail.php">

Также вы можете распечатать данные поста:

print(file_get_contents('php://input'));
 kapamarou22 июн. 2016 г., 13:54
ничего не происходит, когда я меняю энктип. тот же результат
 kapamarou22 июн. 2016 г., 14:03
где я должен печатать переменные $ _POST? Я работаю напрямую из редактора HTML в мой домен
 kapamarou22 июн. 2016 г., 14:28
страница не перенаправляет на другую страницу после отправки формы. Просто отображается сообщение над формой
 ixe22 июн. 2016 г., 13:52
да, это короткий путь
 Super Cool Handsome Gel Boy22 июн. 2016 г., 13:51
Или просто удалите энктип
 ixe22 июн. 2016 г., 14:04
в sendmail.php попробуйте die (print_r ($ _ POST, true)); или умереть (print_r (file_get_contents ('php: // input')), true);

Вы должны использовать библиотеку для отправки почты, такую ​​как PHPMailer.Проверьте блокировку настроек вашего брандмауэра или что.Проверьте, что любая другая служба использует порты (25 465 587).

Если вы работаете на Live, то

проверьте ваш хостинг-провайдер, позволяющий отправлять почту. (для этого вы можете отправить тестовый почтовый скрипт напрямую, используя функцию mail)Если вы используете библиотеку, вы должны подтвердить у провайдера хостинга, что они разрешают порты, открытые для отправки почты.
 Super Cool Handsome Gel Boy22 июн. 2016 г., 14:50
У него нет проблем на стороне сервера, потому что почта была успешно отправлена, но просто без выходных данных.

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