Контактная форма - не может получить электронную почту для отправки

Я пытаюсь создать базовую форму для отправки электронной почты, и вот как она выглядит: http://www.unitedserbians.com/contact_us.html

У меня все работает и застегнута, за исключением того, что я не могу отправить фактическое письмо после отправки формы. Моя функция выполняется, так как мои проверки полей отлично работают, и я вижу, что правильные значения извлекаются из формы, не комментируя код сценария JAVA "alert (dataString); return false;" и даже.ajax выполняется, потому что я получаю "контактную форму отправлен! Мы скоро свяжемся". отображается сообщение, но фактическая электронная почта никогда не отправляется. Я предполагаю, что чего-то не хватает в файле process.php. Я не могу отслеживать, чтобы увидеть, где проблема, или если мой process.php когда-либо выполняется. Должен ли файл жить в том же каталоге с JAVA-скриптом? или в основной папке bin? Или есть что-то, чего я не вижу в коде процесса? Может ли кто-нибудь определить, что я пропущу, пожалуйста? Очень ценится заранее.

HTML:

<div><div><code>
 <div>
 <div>
 <h2><span>Send us E-Mail</span></h2>
 <div id="contact_form">
 <form action="" form="" name="contact">
 <fieldset>
 <ol>
 <li>
 <label for="name" id="name_label">Your Full Name</label>
 
 <label2 for="name" id="name_error">This field is required.</label2>
 </li>
 <li>
 <label for="email" id="email_label">Your Email Address</label>
 
 <label2 for="email" id="email_error">This field is required.</label2>
 </li>
 <li>
 <label for="website id=" phone_label"="">Your Phone Number</label>
 
 <label2 for="phone" id="phone_error">This field is required.</label2>
 </li>
 <li>
 <label for="message">Your Message</label>
 
 </li>
 <li>
 
 </li>
 </ol>
 </fieldset>
 </form>
 </div>
 </div>
 </div>
</code> <p> <span>JAVA-скрипт:</span></p> <pre class="prettyprint linenums"> $(function() {
 $('.error').hide();
 $(".send").click(function() {
 // validate and process form here

 $('.error').hide();
 var name = $("input#name").val();
 if (name == "") {
 $("label2#name_error").show();
 $("input#name").focus();
 return false;
 }
 var email = $("input#email").val();
 if (email == "") {
 $("label2#email_error").show();
 $("input#email").focus();
 return false;
 }
 var phone = $("input#phone").val();
 if (phone == "") {
 $("label2#phone_error").show();
 $("input#phone").focus();
 return false;
 }

 var message = $("textarea#message").val();

 var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone + '&message=' + message;
 // alert (dataString);
 // return false;

 $.ajax({
 type: "POST",
 url: "bin/process.php",
 data: dataString,
 success: function() {
 $('#contact_form').html("");
 $('#send_message').html("<h2>Contact Form Sent!</h2>")
 .append("<p>We will be in touch soon.</p>");
 }
 });
 return false;

 });
});

PHP:

<!--?php

 $email_to = "[removed_email]";

 $email_subject = "Message sent using contact form.";


 $name = $_POST['name']; // required

 $email_from = $_POST['email']; // required

 $phone = $_POST['phone']; // required

 $message = $_POST['message'];


 $email_message .= "Full Name: ".clean_string($name)."\n";

 $email_message .= "Email: ".clean_string($email_from)."\n";

 $email_message .= "Phone Number: ".clean_string($phone)."\n";

 $email_message .= "Message: ".clean_string($message)."\n";


 // create email headers
 $headers = 'From: '.$email_from."\r\n".

 'Reply-To: '.$email_from."\r\n" .

 'X-Mailer: PHP/' . phpversion();

 @mail($email_to, $email_subject, $email_message, $headers); 

?-->
1 ответ

Одна из возможностей заключается в том, что вашему хосту не нравится адрес $ email_from. Я думаю, что большинство хостов ограничивают отправку с использованием адреса From, который не связан с этим хостом (это значит, чтобы не включать спамеров). Попытайтесь использовать [removed_email] или что-то в этом роде, или даже лучше, если вы действительно находитесь в адресе From. Reply-To все равно может быть адресом, который вводит пользователь (после того, как вы убедитесь, что он действителен).

licensed under cc by-sa 3.0 with attribution.