2017-01-02 56 views
1

我在html文件中有一個表單,當用戶填寫表單並提交時,我試圖在我的Gmail帳戶上收到電子郵件。我的網站在服務器上運行,不在本地主機上。我的代碼沒有錯誤,但仍然沒有收到電子郵件。我不知道爲什麼?任何人都可以給我示例代碼或告訴我我做錯了什麼? ..在此先感謝... 這裏是我的代碼從服務器發送電子郵件PHP

<form id="main-contact-form" name="contact-form" method="post" 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" class="form-control" placeholder="Name" required="required"> 
     </div> 
     </div> 
     <div class="col-sm-6"> 
     <div class="form-group"> 
      <input type="email" name="email" class="form-control" placeholder="Email Address" required="required"> 
     </div> 
     </div> 
    </div> 
    <div class="form-group"> 
     <input type="text" name="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">Send Now</button> 
    </div> 
</form> 

而且sendemail.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]'; 

$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; 
+0

什麼的'的var_dump(電子郵件($到,$主題,$消息,$頭))的輸出;' –

+0

是否郵件的工作? 嘗試 'mail('[email protected]','test','test');' - [Brucie Alpha](http://stackoverflow.com/users/5380431/brucie-alpha) –

+0

您已連接到郵件服務器嗎?你使用的主機是什麼? – Ruby

回答

1

按照documentation

多個額外的頭應分開與CRLF(\ r \ n)

所以你的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]'; 

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

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

die; 
?> 
相關問題