2013-05-02 140 views
5

我正在使用000webhost webmail使用聯繫人表單接收電子郵件,但它不工作。無法使用000webhost網絡郵件以PHP聯繫表格發送郵件

contact.php

 <form action="mailer.php" method="post"> 
<p>Name:</p> 
<input type="text" name="name" /> 
<p>E-mail:</p> 
<input type="text" name="email" /> 
<p>Subject:</p> 
<input type="text" name="subject" /> 
<p>Message:</p> 
<textarea name="message"></textarea></p> 
<input class="send" type="submit" value="Send" name="submit"> 
</form> 

mailer.php

 <?php 

$to = "[email protected]"; 
$subject = "Support requested by ".$_POST['name']; 
$name_field = $_POST['name']; 
$email_field = $_POST['email']; 
$message = $_POST['message']; 

$headers = 'From: '.$_POST['email'].'' . "\r\n" . 
    'Reply-To: '.$_POST['email'].'' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

$body = $message; 

@mail($to, $subject, $body, $headers); 
header('Location:thankyou.php') ; //replace with landing page. 
?> 
+1

瓦部分不工作?該消息沒有發送?您收到錯誤訊息?你有沒有檢查你的日誌? – brbcoding 2013-05-02 19:47:53

+2

首先,從「@mail」中刪除「@」,如果有的話你會看到一個錯誤。 – 2013-05-02 19:49:16

+0

我看到thankyou頁面,但我沒有收到任何電子郵件 – Mercury121 2013-05-02 19:49:55

回答

1

沒有錯,你的HTML我試了一下。 如果您安裝Chrome,你可以使用開發工具來調試,看看你的請求被髮送,如果他們貸款了正確的道路上:

enter image description here

在你mailer.php輸出$_POST變量進行確保您的數據被正確地降落在那裏,

echo "<pre>"; 
    var_dump($_POST); 
echo "</pre>"; 

您可能還需要驗證您的HTML:

<form action="mailer.php" method="post"> 
    <p>Name:</p> 
    <input type="text" name="name" > 
    <p>E-mail:</p> 
    <input type="text" name="email" > 
    <p>Subject:</p> 
    <input type="text" name="subject" > 
    <p>Message:</p> 
    <textarea name="message"></textarea> 
    <input class="send" type="submit" value="Send" name="submit"> 
</form> 
+1

我嘗試了godaddy webmail中的相同代碼並且工作正常 – Mercury121 2013-05-02 20:05:32

+0

我對您的問題「我的PHP聯繫表單未發送」做出了回覆我認爲這是發送表單時的問題。祝你好運 – 2013-05-02 20:34:17

+0

謝謝你的迴應.. – Mercury121 2013-05-02 20:38:17