php mail()经常没有到达地址

时间:2013-02-21 11:40:12

标签: php wordpress gmail

这是我的问题,基本上 - 我设置了一个wordpress contact.php模板,它将提交表单并将其发送到我的Gmail。然而,问题是它只有不到一半的时间到达电子邮件,我必须收到其余的电子邮件。

与此相关的下一个问题是我没有设置一个记录已发送消息的文件。我的问题基本上是 - 是否有可能以任何方式检索尚未记录的已发送电子邮件?通常是托管服务提供商维护的电子邮件缓存?我唯一的信息是IP地址,在这种情况下几乎没有任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:2)

可能被您的垃圾邮件过滤器击中。 PHP的mail()功能很容易发生这种情况,因为邮件是从Web服务器发送的,该服务器通常不配置SPL等,接收邮件系统寻求帮助他们过滤掉垃圾邮件

我不认为我可以回答如何检索已经发送的丢失邮件的问题 - 只有您的托管服务提供商可以真正帮助您,但我的猜测是他们可以'帮忙。他们不太可能在不必要的时间内保留出站电子邮件。如果您很幸运,他们可能会有电子邮件事件的日志,但即使这样也可能没有任何有用的数据。

但有一个问题:你检查过你的垃圾邮箱吗?我不是gmail用户,但是大多数邮件系统都会使用过滤后的邮件保留垃圾邮件箱,以便用户可以检索被错误标记为垃圾邮件的电子邮件。如果gmail不允许这样做,我会感到惊讶,如果你的邮件已经消失,那么问题就解决了。

对于未来,我建议您切换为您的邮件使用体面的第三方库,例如phpMailer

phpMailer的优势在于它可以配置为通过gmail发送邮件,这意味着您可以从自己的帐户发送给自己。就垃圾邮件过滤而言,这应该是非常有用的证据。它也应该更快地发送,因为邮件将直接发送到谷歌的服务器,而不需要首先在互联网上反弹。

phpMailer还可以使您的邮件代码比使用原始mail()函数更清晰,并且它允许更多高级功能,如附件,而无需编写大量代码。

希望有所帮助。