2015-10-17 8 views
-1

Я создал HTML-форму с вводами с именем «имя», «электронная почта», «мобильный», «сообщение».PHP Форма для автоматической отправки электронной почты

В моем HTML я использовал;

<form action='form_script.php' method='post'> 

, который (если представлен) отправь form_script.php, где мой PHP должен выполнить.

form_script.php

Я тогда создал этот скрипт, который, как предполагается, чтобы получить входы от формы и отправить по электронной почте "[email protected]

Проблема в том, что письмо не отправляется. Я проверил через свой PHP-скрипт много раз, и я не могу найти никаких проблем, поэтому я привел к тому, что здесь вышло второе мнение.

if(isset($_POST['submit'])){ 
$to = "[email protected]"; // this is your Email address 
$from = $_POST['email']; // this is the sender's Email address 
$name = $_POST['name']; 
$mobile = $_POST['mobile']; 
$subject = $_POST['subject']; 
$subject2 = "Copy of your form submission"; 
$message = "Name: " .$name . "\n\n mobile number: " . $mobile . ".\n\n Message:" . "\n\n" . $_POST['message']; 
$message2 = "Here is a copy of your message " . $name . "\n\n" . $_POST['message']; 

$headers = "From:" . $from; 
$headers2 = "From:" . $to; 
mail($to,$subject,$message,$headers); 
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender 
// You can also use header('Location: thank_you.php'); to redirect to another page. 
} 

Заранее благодарим за ваше время. Сэм

HTML Форма

<table style='width:100%'> 
      <form action='form_script.php' method='post'> 
      <tr> 
       <th> <input type='text' required placeholder='Name' name='name' /> </th> <th> <input type='text' required placeholder='Email' name='email' /> </th> 
      </tr> 

      <tr> 
       <th> <input type='text' required placeholder='Mobile' name='mobile' /> </th> <th> <input type='text' required placeholder='Subject' name='subject' /> </th> 
      </tr> 
      <tr> 
       <th colspan='2'><textarea required placeholder='Message' name='message' ></textarea></th> 
      </tr> 
      <tr> 
       <th><input id='send_form' type='submit' /> </th> 
      </tr> 
      </form> 
     </table> 
+0

Вы используете эту настройку на локальном хосте или на машине? – Akshay

+0

Использование one.com в качестве моего сервера. – methhead

+0

Почему вы не установили '$ to =" [email protected] ";'? –

ответ

0

У вас нет данных, которые имеют имя = 'submit'. Добавить это в вашу форму

<input type="hidden" name="submit">.

Поскольку ваш код говорит if(isset($_POST['submit'])), но $_POST['submit'] не установлен.

0

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

Это для моей страны (Хорватия) ИСП имя (T-Com):

ini_set("SMTP", "mail.t-com.hr"); 
ini_set("smtp_port", "25"); 

$message = ""; 

if(mail('[email protected]', 'title', $message, "From: [email protected]")) 
{ 
    echo 'sent succesfull'; 
} 

, но это зависит от ИСП и страны.

PS.ini_set "(" SMTP "," mail.t-com.hr ");" и "ini_set (" smtp_port "," 25 "); может быть вызван из кода или задан в php.ini

+0

Ответьте на этот тип контента в поле комментариев, если у вас достаточно репутации. –

+0

посмотри мой отредактированный ответ – fico7489

0

Зачем использовать стандартную функцию почтовой почты phoenix(). скорее переключитесь на Mailgun или phpmailer, которые вы можете автоматически загружать в свой код и отправлять почту таким образом. его намного быстрее и надежнее, чем функция mail(). и с использованием mailgun, например; вы можете увидеть журнал через веб-сайт и посмотреть, отправили ли ваши письма 100% или нет. Удачи

Смежные вопросы