PHP邮件不会出现在Gmail上,但会出现在Hotmail和其他第三方/ISP帐户上
我有两个网站,邮件被发送到两个gmail账户。我使用PHP来处理邮件,但是邮件没有显示在gmail上(不是在垃圾邮件/垃圾邮件中,只是没有显示)。如果我切换PHP发送到我的个人hotmail帐户,邮件就会显示出来。通过我的ISP的个人电子邮件帐户也是如此PHP邮件不会出现在Gmail上,但会出现在Hotmail和其他第三方/ISP帐户上,php,email,gmail,Php,Email,Gmail,我有两个网站,邮件被发送到两个gmail账户。我使用PHP来处理邮件,但是邮件没有显示在gmail上(不是在垃圾邮件/垃圾邮件中,只是没有显示)。如果我切换PHP发送到我的个人hotmail帐户,邮件就会显示出来。通过我的ISP的个人电子邮件帐户也是如此 以前的邮件会出现在这两个vanity gmail帐户上,你知道他们为什么会停止吗?有可能你没有设置正确的邮件头数据,这些邮件甚至在到达垃圾邮件文件夹之前就被阻止了 尝试添加如下内容: $headers = 'From: your@email.c
以前的邮件会出现在这两个vanity gmail帐户上,你知道他们为什么会停止吗?有可能你没有设置正确的邮件头数据,这些邮件甚至在到达垃圾邮件文件夹之前就被阻止了 尝试添加如下内容:
$headers = 'From: your@email.com' . "\r\n" .
'Reply-To: some@email.com';
这是mail()函数的第四个参数。我过去遇到过一些问题,某些免费电子邮件提供商无法从我的服务器接收任何电子邮件 我发现,除了在实际消息中添加正确的标题外,还有一些事情可能是罪魁祸首:
- 确保您的服务器已配置为
- 确保您没有运行开放式数据库
- 确保你的服务器没有出现任何问题(如果你有一个开放的中继,你可能会被列入黑名单)
mail -s Test you@gmail.com < /dev/null
mail-s测试you@gmail.com
如果您的服务器正常,您将在gmail中收到一条消息,如果您不正常,PHP不是问题。我发现为您的域设置一个合适的SPF记录确实有帮助
这很可能是服务器配置问题,而不是PHP问题 顺便说一句,我发现gmail比我们的本地系统更宽容,所以我可以把邮件发送到我的gmail帐户,但不能发送到托管域的帐户
我不认为谷歌使用第三方黑名单,但他们确实关心服务器配置(它是否正确识别自己,是否有匹配的SPF和RDN记录,是否正确响应命令)。你可能会尝试一些测试服务,如或。我看已经太晚了,但……以下代码适用于gmail
<html>
Mail Responder:<br><br>
<?php
$to = $_REQUEST['MyEmail'] ;
$subject = $_REQUEST['subject'] ;
$greeting = $_REQUEST['greeting'] ;
$realname = $_REQUEST['realname'] ;
$HisEmail = $_REQUEST['HisEmail'] ;
$message = $_REQUEST['message'] ;
$headers = 'From: '.$HisEmail;
//$headers = 'From: $HisEmail' . "\r\n" .
//'Reply-To: some@email.com';
$send = mail($to, $subject, $greeting."\n"."\n".$realname."\n"."\n".$HisEmail."\n"."\n".$message, $headers );
if ($send)
$mailReturns = "Mail sent successfully.";
else
$mailReturns = "Mail sent failed.";
?>
<?php echo $mailReturns; ?>
</html>
邮件回复者:
正确的标题数据是什么?我没有设置任何标题:$到=myaddy@gmail.com“;$subject='my subject';$body=urlencode($comments);mail($to,$subject,urldecode($body),”发件人:{$\u POST['email']}”);再说一遍,邮件过去会通过这两个帐户发送。没有代码更改。同样值得检查谷歌开发博客,看看他们是否更改了任何内容。如果他们开始检查SPF,可能会导致问题。但当gmail作为收件人处理时,我们无法在不影响邮件传递的情况下更改邮件标题。我不得不omment$mail->ClearCustomHeaders();
和所有自定义邮件头$mail->AddCustomHeader();
现在gmail很好地接收了电子邮件。我也遇到了同样的问题。我也有所有需要的邮件头,但电子邮件没有显示出来。这对gmail对我来说不起作用。运行完全相同的代码并发送到gmail帐户。