2013-05-02 142 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