2014-09-27 273 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中有任何输出或检查了日志,那么您就会发现这一点。