我在客户的网站上设置了一个AJAX联系表格。

问题是电子邮件没有通过客户端的收件箱。

我使用Google Apps设置客户端(就像我为自己做的那样)。

我使用与我的电子邮件地址相同的联系表格,它有效。但是,如果他们的域名中没有任何电子邮件地址,那就不行了!

该域名的所有成员都在接收“普通”电子邮件。

阻止邮件()电子邮件通过可能会有什么不同?


<强>更新

好的,所以我设法解决了。事实证明,使用CNAME将域指向正确的服务器对于 sendmail 是不够的,所以我不得不将其更改为直接指向服务器的A记录。奇怪但真实。感谢帮助人员,你指出了我正确的方向:)

有帮助吗?

解决方案

这取决于服务器上的设置和接收端的服务器。

例如, hotmail需要使用正确配置的 SPF记录

许多邮件接收服务器(包括hotmail)要求电子邮件来自完全合格的域名。您从PHP发送的电子邮件很可能不符合此规则。 (他们很有可能来自'apache')
请参阅 hotmail self help hotmail postmaster info

PHP的mail()函数不包括很多标题包含您的邮件,因此您需要自己提供。

您的邮件越多跳到目的地,就越有可能被标记为垃圾邮件。 因此,不使用PHP的邮件功能,而是使用邮件库,这可能是更好的选择。连接到SMTP服务器,就像桌面邮件应用程序一样。

总而言之,我会将我的赌注押在外部图书馆: Pear :: Mail 文档

您还可以阅读:如何确保以编程方式发送的电子邮件不会自动标记为垃圾邮件

<强>更新结果 在SenderId或SPF检查失败的情况下,可以在消息进入用户收件箱之前将其丢弃。该消息不会在用户垃圾文件夹中结束,它将直接转到/ dev / null。 我知道这对于hotmail和live mail至少是正确的。我认为其他主机没有理由不实施相同的政策。

其他提示

我建议使用PHPMailer(包括他们的SMTP)库。与邮件相比,它是可靠的,并允许您创建完全自定义的电子邮件。

http://phpmailer.worxware.com/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top