2016-05-26 44 views
-3

我得到這個免費的模板,但聯繫表格根本不工作。它表示郵件已發送,但我沒有收到任何電子郵件。該表單看起來非常好,這就是爲什麼我不想改變它,但它不工作。開發人員不提供免費模板的技術幫助。請提前幫助我,謝謝你!聯繫表格不能從免費模板工作

HTML

 <form id="main-contact-form" name="contact-form" role="form" method="post" action="sendemail.php"> 
         <div class="form_status" style="display: none;"><p class="text-success">Thank you for contacting us. We'll get back to you shortly.</p></div> 
          <div class="form-group"> 
           <input type="text" name="name" class="form-control" placeholder="Name" required> 
          </div> 
          <div class="form-group"> 
           <input type="email" name="email" class="form-control" placeholder="Email" required> 
          </div> 
          <div class="form-group"> 
           <input type="text" name="subject" class="form-control" placeholder="Subject" required> 
          </div> 
          <div class="form-group"> 
           <textarea name="message" class="form-control" rows="8" placeholder="Message" required></textarea> 
          </div> 
          <button type="submit" class="btn btn-primary">Send Message</button> 
         </form> 

PHP

<?php 
$name  = @trim(stripslashes($_POST['name'])); 
$from  = @trim(stripslashes($_POST['email'])); 
$subject = @trim(stripslashes($_POST['subject'])); 
$message = @trim(stripslashes($_POST['message'])); 
$to   = '[email protected]';//replace with your email 

$headers = array(); 
$headers[] = "MIME-Version: 1.0"; 
$headers[] = "Content-type: text/plain; charset=iso-8859-1"; 
$headers[] = "From: {$name} <{$from}>"; 
$headers[] = "Reply-To: <{$from}>"; 
$headers[] = "Subject: {$subject}"; 
$headers[] = "X-Mailer: PHP/".phpversion(); 

mail($to, $subject, $message, $headers); 

die; 

JS

var form = $('#main-contact-form'); 
form.submit(function(event){ 
    event.preventDefault(); 
    var form_status = $('<div class="form_status"></div>'); 
    $.ajax({ 
     url: $(this).attr('action'), 
     url: '../sendemail.php', 
     //type : $(this).attr('method'), 
     //data : $(this).serialize(), 

     beforeSend: function(){ 
      form.prepend(form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn()); 
     } 
    }).done(function(data){ 
     form_status.html('<p class="text-success">Thank you for contacting us. We will get back to you shortly</p>').delay(3000).fadeOut(); 
    }); 
}); 
+1

您的郵件標頭沒有你。再次RTM;你錯過了什麼。編輯:沒關係,這裏'implode(「\ r \ n」,$ headers)'在那裏解決了。根據Ffffffffabulous手冊http://php.net/manual/en/function.mail.php –

回答

2

發佈作爲一個社區的wiki。

您的郵件標題失敗了。從手動

例:

因此,加implode("\r\n", $headers)按什麼手冊指出

<?php 
$headers = array(); 
$headers[] = "MIME-Version: 1.0"; 
$headers[] = "Content-type: text/plain; charset=iso-8859-1"; 
$headers[] = "From: Sender Name <[email protected]>"; 
$headers[] = "Bcc: JJ Chong <[email protected]>"; 
$headers[] = "Reply-To: Recipient Name <[email protected]>"; 
$headers[] = "Subject: {$subject}"; 
$headers[] = "X-Mailer: PHP/".phpversion(); 

mail($to, $subject, $email, implode("\r\n", $headers)); 
?> 
+0

它沒有工作。 – Nnn

+0

@Nnn檢查錯誤,然後http://php.net/manual/en/function.error-reporting.php並看看你的控制檯。 –

+0

嗨炒。我重視你的意見很多,並想知道如果你可以讓我知道,如果你認爲這個特定的問題是重複的:http://stackoverflow.com/questions/37451962/query-string-protection-against-sql-injection-和-xss – Webeng