我正在使用PHP联系表单并且它正在向非gmail地址发送邮件,但是当我将其设置为发送到gmail地址时,它不会被传递(它甚至不会出现在垃圾邮件中)
之前我听说过这样的问题 - 我不是网络开发人员/专家,所以任何人都可以建议我的PHP联系表单的代码/配置更改,这实际上意味着邮件会传递到gmail地址吗?
我在linux / WHM专用服务器上。
<?php
error_reporting(E_NOTICE);
function valid_email($str)
{
return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
}
if(!empty($_POST['name']) && !empty($_POST['email']) && valid_email($_POST['email']) === true && !empty($_POST['comment']))
{
$to = "contactform@gmail.com";
$headers = 'From: '.$_POST['email'].''. "\r\n" .
'Reply-To: '.$_POST['email'].'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$subject = "Contact Form";
$message = htmlspecialchars($_POST['comment']);
if(mail($to, $subject, $message, $headers))
{
echo 1; //SUCCESS
}
else {
echo 2; //FAILURE - server failure
}
}
else {
echo 3; //FAILURE - not valid email
}
?>
答案 0 :(得分:0)
您是否检查过您的PHP安装/服务器是否支持Mail()函数?
您是否也检查过Gmail是否将您的电子邮件视为垃圾邮件? (它们不会出现在垃圾邮件文件夹中,它们只是被阻止了)...尝试将其发送到不同的地址。
答案 1 :(得分:0)
将脚本设置为从具有实际邮箱的电子邮件地址发送,以便检查跳出。如果你的脚本回显1,并且可以发送到其他地址(至少对我来说),那就是gmail不喜欢你,而不是脚本本身的任何错误。
看起来您还需要考虑保护此脚本不受电子邮件注入的影响。只是一个建议。