我在不同的网站上使用php电子邮件形式,偶尔工作。有时邮件会被发送,有时会消失在黑洞中。这发生在不同的服务器上(Dreamhost,Bluehost)。这些电子邮件没有显示在垃圾邮件中。零星的php形式的邮件
我有一个标记为“URL”的隐藏字段,我试图阻止垃圾邮件机器人。这有可能是绊倒了吗?对我而言,它有时可以工作,而在其他时间工作,这是毫无意义的。
这是代码:
$thebox = "<textarea name='comment' rows='9' cols='70' wrap='hard' style='background-color: #E8E8E8;'></textarea>";
$error_name = "";
$error_email = "";
$error_message = "";
if(!isset($_POST['submit'])) {
$name = "";
$email = "";
}
if(isset($_POST['submit']))
{
$url = cleanup($_POST['url']); // this field should be empty
if (!empty($url)) { exit; } // if it's not, exit the script
$name=cleanup($_POST['name']);
$email=cleanup($_POST['email']);
$message=cleanup($_POST['comment']);
$subject="Email sent via MyWebsite.com website";
$find = array("\r\n", "\n", "\r", "\r\n\r\n");
$message = str_replace($find, "<br />",$message);
$message = stripslashes($message);
$MailTo="[email protected]";
$bad_name="Please fill in your name.";
$bad_email="Please provide a valid e-mail address.";
$bad_message="You forgot to type in a message.";
$error = 0;
$error_message="";
if ((empty($message)) || (strlen($message)<5))
{
$error_message = $bad_message;
$error = 1;
}
if (!empty($message))
{
$thebox="<textarea name='comment' rows='9' cols='70' wrap='hard' style='background-color: #E8E8E8;'>".$message."</textarea>";
}
if ((!preg_match("/^([a-zA-Z0-9._])[email protected]([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/", $email)) || (empty($email)))
{
$error = 1;
$error_email = $bad_email;
}
if (empty($name))
{
$error = 1;
$error_name = $bad_name;
}
if (!empty($name) && !empty($email) && !empty($message) && $error==0)
{
$header = "From: '$name' <$email>\r\n" .
"Reply-To: $email\r\n".
"Return-Path: $email\r\n".
'X-Mailer: PHP/' . phpversion() . "\n" .
"MIME-Version: 1.0\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";
$Body = $message;
mail ($MailTo, $subject, $Body, $header);
echo "<p> </p> <p> </p>
<h3>
Your email has been sent.
Thank you!
</h3>
<p> </p> <p> </p><p> </p> <p> </p>";
看来一切都很好。你问过你的托管服务提供商吗?这可能是服务器端相关的问题。一些免费提供商正在对通过PHP发送的传出邮件进行费率限制来限制垃圾邮件 –