繁体   English   中英

无法将邮件发送到@gmail

[英]Cant send mail to @gmail

我有此代码用于发送邮件

$to = "account@gmail.com";
$subject = "mail title";
$message = "mail content";

$from_mail = "sender@site.com";          

$headers = 'MIME-Version: 1.0\r\n'.
           'From: '.$from_mail.'' . "\r\n" .
           'Reply-To: '.$from_mail.'' . "\r\n" .
           'Content-type: text/html; charset=utf-8' . "\r\n";
           'X-Mailer: PHP/' . phpversion(); 

该代码为@gmail以外的任何邮件提供者发送邮件。

这可能是什么原因

与其他情况一样,我的猜测是您的邮件已发送到SPAM文件夹。 但是尚不清楚此脚本在什么计算机上运行。 这是您的localhost测试环境还是其他隔离的开发服务器? 还是功能正常的生产服务器?

如果这是一个localhost或其他隔离的测试环境,我猜测Gmail甚至可能是AOL都将您的邮件作为潜在的SPAM进行阻止。

但是,如果这是面向前的生产服务器,则该问题很可能是由于机器所在的IP地址缺少PTR(aka:反向DNS记录)引起的。

本网站所述

PTR记录主要用于检查服务器名称是否实际上与从其发起连接的IP地址相关联。

这意味着,如果许多邮件服务器无法将有效的PTR记录连接到域,则它们会将它们简单地标记为垃圾邮件。

另外,如果这是具有多个IP地址的生产服务器,则您的SPF(发送方策略框架)记录可能存在问题。 在此网站上阅读更多内容

更准确地说,SPFv1允许域的所有者指定其邮件发送策略,例如,他们使用哪些邮件服务器从其域发送邮件。

因此,SPF记录是一个DNS记录,基本上说:“好吧,您认为您是来自xyz.com IP地址1.2.3.4的电子邮件? 让我查看您的SPF记录,嘿! SPF记录说, xyz.com从IP地址1.2.3.4发送的任何电子邮件都很酷! 您不是垃圾邮件。”

尽管还有其他一些因素,例如在处理电子邮件时延迟发送或接收,但我非常有信心解决您从其发送的IP地址的PTR和SPF状态将清除此问题。 这不是编码问题,而是您身边的网络和邮件基础结构配置问题。

由于垃圾邮件,电子邮件提供商对接受邮件的要求越来越严格。

如果您使用共享主机,则该电子邮件服务器的信誉可能很差,您可能必须更改提供商或使用其提供的任何邮件服务。 电子邮件支持可能是一个好的开始

很多时候,邮件没有被完全阻止而是被延迟。 我会等一会儿,然后检查电子邮件是否到达那里。 我还要检查邮件队列,看看电子邮件的状态是什么

确保您具有适当的DNS记录:_ dkim _ spf _ dmarc

确保设置了反向DNS,并且该IP不在阻塞池中,

另外,请确保您不在任何阻止列表中。

IP信誉至关重要,并且会随着时间的推移而不断提高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM