我在不同的網站上使用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發送的傳出郵件進行費率限制來限制垃圾郵件 –