2015-04-13 3 views
1

Я добавляю простую форму контакта на свой сайт, но я не получаю электронные письма, когда я его отправляю.Отправка формы контакта, я не получаю email

мой HTML является:

<form action="contact.php" method="post" class="form-container"> 
    <label for="name" class="form-title">Name</label> 
    <input id="name" class="form-field" type="text" name="cf_name" required> 
    <br/> 

    <label for="email" class="form-title">Email</label> 
    <input id="email" class="form-field" type="email" name="cf_email" required pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$"> 
    <br/> 

    <label for="message" class="form-title">Message</label> 
    <textarea id="message" class="form-field" name="cf_message" required></textarea> 
    <br/> 

    <div class="submit-container"> 
     <input class="submit-button" type="submit" value="Send"> 
    </div> 
</form> 

мой РНР:

<?php 
    $field_name = $_POST['cf_name']; 
    $field_email = $_POST['cf_email']; 
    $field_message = $_POST['cf_message'];  

    $mail_to = '[email protected]vermiami.com'; 
    $subject = 'Message From: '.$field_name; 


    $body_message = 'E-mail: '.$field_email."\n"; 
    $body_message .= 'Message: '.$field_message; 


    $headers = 'From: '.$field_email."\r\n"; 
    $headers .= 'Reply-To: '.$field_email."\r\n"; 

    $mail_status = mail($mail_to, $subject, $body_message, $headers); 

    if ($mail_status) { ?> 
     <script language="javascript" type="text/javascript"> 
      alert('Thank you for the message. We will contact you shortly.'); 
      window.location = 'contact.html'; 
     </script> 
    <?php 
    } 
    else { ?> 
     <script language="javascript" type="text/javascript"> 
      alert('Message failed. Please, send an email to [email protected]'); 
      window.location = 'contact.html'; 
     </script> 
    <?php 
    } 
?> 

Я вижу предупредительное сообщение, что означает, что код работает, но я не получаю электронную почту с заполнены информацией из формы ,

любые идеи, почему это происходит?

+2

Ваш сервер настроен на отправку писем? – Maximus2012

+3

Добавьте отчет об ошибках в начало вашего файла (ов) сразу после открытия '

+0

Кажется, сервер не настроен с использованием почты. также попытайтесь отобразить ошибку, указанную Jay Blanchard. –

ответ

0

У меня возникли проблемы с отправкой писем в gmail и Outlook без использования MIME-версии и типа содержимого. Попробуйте добавить это:

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/plain; charset=utf-8\r\n"; 
+0

И тогда ваши другие заголовки, конечно же, – leitning

0

Попробуйте удалить $headers из mail(). У вас есть активный спам-фильтр? Возможно, вам нужно установить From на ваш почтовый адрес вашего сервера, так как ваш спам-фильтр не позволяет установить From на адрес электронной почты чужого сервера.

Примечание: вам не нужно устанавливать Reply-To, если его то же, что и From.

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