我在客户的网站上设置了一个AJAX联系表格。
问题是电子邮件没有通过客户端的收件箱。
我使用Google Apps设置客户端(就像我为自己做的那样)。
我使用与我的电子邮件地址相同的联系表格,它有效。但是,如果他们的域名中没有任何电子邮件地址,那就不行了!
该域名的所有成员都在接收“普通”电子邮件。
阻止邮件()电子邮件通过可能会有什么不同?
更新
好的,所以我设法解决了。事实证明,使用CNAME将域指向正确的服务器对于 sendmail 是不够的,所以我不得不将其更改为直接指向服务器的A记录。奇怪但真实。感谢帮助人员,你指出了我正确的方向:)
答案 0 :(得分:2)
这取决于服务器上的设置和接收端的服务器。
例如,许多邮件接收服务器(包括hotmail)要求电子邮件来自Fully Qualified Domain Name。您从PHP发送的电子邮件很可能不符合此规则。 (他们很有可能来自'阿帕奇') 请参阅hotmail self help和hotmail postmaster info
PHP's mail() function不包含大量邮件标题,因此您需要自己提供。
您的邮件越多跳到目的地,就越有可能被标记为垃圾邮件。 因此,最好不要使用PHP的邮件功能,而是使用连接到SMTP服务器的mail library,就像桌面邮件应用程序一样。
总而言之,我会把我的赌注放在外部图书馆:Pear::Mail(documentation)
您还可以阅读:how do you make sure email you send programmatically is not automatically marked as spam
<强>更新强>
在SenderId或SPF检查失败的情况下,可以在消息进入用户收件箱之前将其丢弃。该消息不会在用户垃圾文件夹中结束,它将直接转到/ dev / null。
我知道这对于hotmail和live mail至少是正确的。我认为其他主机没有理由不实施相同的政策。
答案 1 :(得分:-1)
我建议使用PHPMailer(包括他们的SMTP)库。与邮件相比,它是可靠的,并允许您创建完全自定义的电子邮件。