0

我正在开发一个简单的电子邮件联系表单,该表单当前执行没有错误并显示我添加的成功消息。

但是,经过测试,电子邮件只能由我拥有的 Microsoft Outlook 地址接收。

Gmail、Hotmail 和 Yahoo 没有收到邮件,而我主要针对的是 Gmail。

我检查了每种情况下的垃圾邮件/垃圾文件夹,但没有任何迹象。

如果有人有任何想法为什么会这样,那就太好了。我没有发布代码,因为它至少在一种情况下确实有效,但如果有帮助,这里是“标题”的格式。

 $headers = 'From: '.$email_from."\r\n".
 'Reply-To: '.$email_from."\r\n" .
 'X-Mailer: PHP/' . phpversion();
 @mail($email_to, $email_subject, $email_message, $headers); 
4

3 回答 3

1

如果相同的代码可以向一个收件人发送电子邮件,但不能向另一个收件人发送电子邮件,那么问题出在收件人身上。

我怀疑这是因为收件人的电子邮件提供商认为您的电子邮件看起来像垃圾邮件。

我建议去掉Reply-to标题,并将地址放在From字段中,一方面 - 基本上,您可以做的越多,使您的电子邮件看起来不像垃圾邮件越好。

如果这不起作用,请尝试使用您的代码尽可能发送有限的消息 - 不添加额外的标题信息,文本中没有链接 - 如果可行,请慢慢开始添加内容,直到您停止收到消息。

于 2012-05-22T14:28:49.320 回答
0

然后将您要邮寄的电子邮件添加到您已硬编码的 $email_to 字段中,无论是 gmail 还是 yahoo

或者,如果您从表单中动态地传递电子邮件,则将其设置为

$email_to = $_post['email'];

然后将其添加到您的标题中,然后它应该发送给收件人。

于 2012-05-22T11:01:14.393 回答
0

您发送的 IP 可能已被列入黑名单(如果您的服务器位于共享 IP 上,则使用该 IP 的人发送了一些坏东西)。

如果可能,尝试使用不同的 IP 地址,如果它有效,那么您就知道问题所在并且可以向您的虚拟主机投诉。

于 2012-05-22T11:28:07.083 回答