我的网站上有一个PHP电子邮件脚本,潜在客户可以与我联系。从Stack得到它并稍微调整一下(有一个蜜罐)。
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!";
}
?>
FORM HTML CODE:
<form name="contactform" id="contactform" method="post" action="/contact/" _lpchecked="1">
<ul class="form-block">
<!-- HONEYPOT -->
<li class="on-no-robots" style="height:0px; text-indent:-9999px; font-size:0px; overflow:hidden;">
<label>Humans Don't Submit This!! If you can see this, you don't have CSS, and you scare me. This is just here to filter out automated comments!</label>
<input name="robotest" id="robotest" type="text" />
</li>
<!-- HONEYPOT -->
<li class="third">
<label for="name">Name</label>
<input type="text" name="name" id="name" value="" class="required" />
</li>
<li class="third">
<label for="email">Email Address</label>
<input type="email" name="email" id="email" value="" class="required email" />
</li>
<li class="third">
<label for="phone">Phone Number</label>
<input type="text" name="phone" id="phone" value="" />
</li>
</ul>
<h3>How can we help you?</h3>
<ul class="form-block">
<li class="full">
<textarea name="comments" id="comments" class="required"></textarea>
</li>
<li>
<input id="submitButton" type="submit" value="Talk to us" onclick="_gaq.push(['_trackEvent', 'Conversions', 'Contact', 'Contact Form']);" />
</li>
</ul>
</form>
我也一直在使用Google Analytics&#39;事件跟踪&#34;提交&#34;表格按钮如下:
<input id="submitButton" type="submit" value="Talk to us" onclick="_gaq.push(['_trackEvent', 'Conversions', 'Contact', 'Contact Form']);" />
我可以测试一封电子邮件,但它运行正常。但是,看看我的分析,有几天人们点击了&#34;发送&#34;按钮(触发分析事件)但我没有收到电子邮件。这可能是因为他们没有正确填写表格,但我不确定。我的Gmail垃圾邮件过滤器中没有任何内容。
有没有办法(a)与我的主人核实是否有任何被困的&#39;没有正确发送的电子邮件,以及(b)调整代码,以便这些误报(如果它们是误报)不会发生?
显然,最简单的原因是人们只需点击&#34;提交&#34;无需输入任何内容即可获得乐趣的按钮,从而触发分析事件。每次转化价值约1500美元,所以我希望尽可能确定他们不是真正的转换,而不是通过电子邮件发送给我!
干杯。
答案 0 :(得分:3)
要查看尚未发送的“被困”电子邮件,您可能需要检查邮件服务器(进入主机)。
至于确保您的邮件功能正常工作,您可以随时创建自己的邮件,例如:
if (!mail($recipient, $subject, $mail_body, $header))
{
/*For when mailing fails*/
/*Log contents somewhere*/
}
也许当它失败时,会在数据库中存储日志,并将其内容供将来审核?您可以随时查看错误日志以获取更多线索。也许邮件服务器在那个特定时间不稳定/失效
答案 1 :(得分:1)
像这样修改你的脚本。测试一下,看看有什么打印。
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
$ret = mail($recipient, $subject, $mail_body, $header); //mail command :)
var_dump($ret);
如果你得到0 / false等,你的服务器上没有启用mail()。如果您看到true / 1等,则很可能您的邮件会发送垃圾邮件。如果您没有在页面上打印任何内容(或者更确切地说“您输入了一个无效的电子邮件地址!”已打印...忽略了对不起),这意味着它只是没有进入此循环
if((filter_var($email, FILTER_VALIDATE_EMAIL)) && ($robotest == "")) {
告诉我你的看法?