PHP电子邮件表单,执行但仅发送到“某些”电子邮件服务

时间:2012-05-22 10:30:32

标签: php forms email

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

然而,在测试之后,电子邮件只能通过我的Microsoft Outlook地址接收。

Gmail,Hotmail和Yahoo都没有收到该邮件,而且这主要是我的目标。

我已经检查了每种情况下的Spam / Junk文件夹,没有任何迹象。

如果有人有任何想法,为什么会这样,那就太好了。我没有发布代码,因为它在至少一个实例中起作用,但如果有帮助,这里是'标题'的格式。

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

3 个答案:

答案 0 :(得分:1)

如果相同的代码用于向一个收件人发送电子邮件,而不是另一个收件人,那么问题在于收件人。

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

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

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

答案 1 :(得分:0)

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

或者如果您从表单中以动态方式向您发送电子邮件,则将其设置为

$ email_to = $ _post ['email'];

然后将其添加到标题中,然后它应该转到收件人。

答案 2 :(得分:0)

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

如果可能,请尝试使用其他IP地址,如果有效,则您知道问题并可以向您的虚拟主机投诉。