PHP电子邮件脚本。可能不发送电子邮件?

PHP电子邮件脚本。可能不发送电子邮件?,php,forms,email,validation,Php,Forms,Email,Validation,我的网站上有一个PHP电子邮件脚本,潜在客户可以使用它与我联系。从堆栈中获取它并对其进行了一些调整(有一个蜜罐) PHP代码 <?php $robotest = $_POST['robotest']; //just testin' for robots $recipient = "info@agoodman.com.au"; //recipient $email = ($_POST['email']); //senders e-mail adress if((filter_va

我的网站上有一个PHP电子邮件脚本,潜在客户可以使用它与我联系。从堆栈中获取它并对其进行了一些调整(有一个蜜罐)

PHP代码

<?php 

$robotest = $_POST['robotest']; //just testin' for robots

$recipient = "info@agoodman.com.au"; //recipient 
$email = ($_POST['email']); //senders e-mail adress 

if((filter_var($email, FILTER_VALIDATE_EMAIL)) && ($robotest == "")) { 

$Name = ($_POST['name']); //senders name 
$mail_body = ($_POST['comments']); //mail body 
$subject = "Image Consulting Inquiry"; //subject 

$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields 

mail($recipient, $subject, $mail_body, $header); //mail command :) 

} else {
    print "You've entered an invalid email address!";
}
?>

要查看任何尚未发送的“被困”电子邮件,您可能必须检查邮件服务器(进入主机)

为了确保您的邮件功能正常工作,您可以在邮件功能出现故障时创建自己的捕获,例如:

if (!mail($recipient, $subject, $mail_body, $header)) 
{
   /*For when mailing fails*/
   /*Log contents somewhere*/
}

也许当它失败时,会在数据库中存储一个日志及其内容以备将来查看?您可以随时查看错误日志以获取更多线索。可能邮件服务器在特定时间不稳定/停机

要查看任何尚未发送的“被困”邮件,您可能必须检查邮件服务器(进入主机)

为了确保您的邮件功能正常工作,您可以在邮件功能出现故障时创建自己的捕获,例如:

if (!mail($recipient, $subject, $mail_body, $header)) 
{
   /*For when mailing fails*/
   /*Log contents somewhere*/
}

也许当它失败时,会在数据库中存储一个日志及其内容以备将来查看?您可以随时查看错误日志以获取更多线索。可能邮件服务器在特定时间不稳定/关闭

请这样修改您的脚本。测试一下,看看打印的是什么

$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields 

$ret = mail($recipient, $subject, $mail_body, $header); //mail command :) 

var_dump($ret);

告诉我你看到了什么?

像这样修改你的脚本。测试一下,看看打印的是什么

$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields 

$ret = mail($recipient, $subject, $mail_body, $header); //mail command :) 

var_dump($ret);

告诉我你看到了什么?

也许我没有在OP中正确地澄清。我收到了客户的邮件,只是不是每次按下“发送”按钮时都收到。例如,在分析中,它显示在过去的两周内,事件由10名独特的访客触发,但我们只收到5封电子邮件。请看这一行->如果((filter_var($email,filter_VALIDATE_email))&($robotest==”){……}它在某些时候可能会变为假。你仍然会在分析中看到发送被触发,但邮件不会发送。。。也可能是服务器的邮件限制,但可能性很小;)也许我没有在OP中正确地澄清。我收到客户的邮件,只是不是每次按下“发送”按钮。例如,在分析中,它显示在过去的两周内,事件由10名独特的访客触发,但我们只收到5封电子邮件。请看这一行->如果((filter_var($email,filter_VALIDATE_email))&($robotest==”){……}它在某些时候可能会变为假。你仍然会在分析中看到发送被触发,但邮件不会发送。。。也可能是服务器的邮件限制,但可能性很小;)停止使用directly mail()函数。开始使用。电子邮件发送不再有问题…停止使用directly mail()函数。开始使用。电子邮件发送不再有问题。。。。
if((filter_var($email, FILTER_VALIDATE_EMAIL)) && ($robotest == "")) {