2014-09-27 267 views
-1

好吧,所以我有一個VPS與sendmail運行以及php5。郵件服務器的工作原理是因爲我測試了其他人的PHP聯繫腳本,並通過提交按鈕成功向我發送了一封電子郵件。但我似乎無法讓我的腳本工作。那就是:PHP的電子郵件表格不發送電子郵件

<?php 
 

 
    $name = $_POST['name']; 
 
    $visitor_email = $_POST['email']; 
 
    $message = $_POST['message']; 
 
    
 
    $email_from = $visitor_email; 
 
    $email_subject = "You got work yo!"; 
 
    $email_body = $message 
 
    
 
    
 
    $to = "[email protected]"; 
 
    $headers = "from: $visitor_email \r\n"; 
 
    mail($to,$email_subject,$email_body,$headers); 
 
    
 
    ?>

下面是HTML

<form action="email.php" name="emailform" method="post"> 
 

 
Name:<input type="text" name="name"> 
 
<br/> 
 
Email:<input type="text" name="email"> 
 
</br> 
 
Message:<input type="text" name="message"> 
 

 
<input type="submit" value="Send Form"> 
 
</form>
感謝您的幫助

+2

你可以嘗試調試一些東西:1)發送一個靜態的電子郵件。 2)在郵件功能後輸出一些文本,以確保沒有發生致命錯誤。例如,您在示例代碼中缺少$ email_body = $消息的分號。 3)運行一個print_r($ _ POST);看看發佈的內容。 – teynon 2014-09-27 01:54:39

+0

爲什麼所有這些不必要的變量?多麼浪費擊鍵 – meda 2014-09-27 02:01:46

+0

此外,某些服務器在向某些電子郵件主機發送電子郵件時被阻止。您以前是否成功地使用此服務器發送過電子郵件?如果不是,請嘗試將其發送到不同提供商的電子郵件(yahoo,gmail等)。但是,根據我的經驗,gmail是最受歡迎的。不要忘記檢查你的垃圾郵件文件夾。 – 2014-09-27 02:02:23

回答

0

你有一個語法錯誤:你$email_body = $message後缺少一個分號。這會導致腳本以白屏失敗。

提示未來:如果您在PHP中有任何輸出或檢查了日誌,那麼您就會發現這一點。