PHP 邮件到达 GMail,但未到达本地服务器

PHP 邮件到达 GMail,但未到达本地服务器

我使用的 PHP 邮件功能无法完全正常工作。它可以很轻松地将邮件发送到 GMail。但是,直接路由到我内部托管的 Exchange 服务器的电子邮件无法通过。

服务器/域的设置如下。

URL 已通过网络解决方案 ( www.independentsservice.com& www.isco.net) 注册。

NS 将所有流量导向我们的 ISP(Socket.net)。Socket 导向如下:

  • 邮寄到我们的本地服务器
  • 通过 FTP 连接到我们的本地服务器
  • HTTP 到我们的网站托管于Chihost.com

此外,电子邮件源自位于 chihost 的外部服务器。PHP 就是在那里执行的。

到我们本地服务器的流量会经过 Watchguard 防火墙,该防火墙会将邮件流量路由到我们本地托管的 Exchange 服务器。

由于某种原因导致交易所不接受这些电子邮件?

答案1

使用 PHP 的服务器是基于 Linux 还是 Windows?目前我假设它是基于 Linux 的。无论如何,下面的一些建议都是有效的,你只需要采取略有不同的方法。

首先要确定电子邮件是否到达了您的 Exchange 服务器。当您 ping 域时,您是否获得了预期的 IP 地址?

发出的电子邮件应该有一个“Return-Path”标头。如果 Exchange 拒绝了该电子邮件,您应该会收到“Return-Path”中地址的回复,说明电子邮件被拒绝的原因。通常,sendmail 的退回邮件最终会进入 /var/mail。

使用 PHP 的邮件功能时,需要注意以下几点。您是否设置了“发件人:”标头?该地址是否可访问?如果您要设置标头(至少应设置发件人:),请确保标头后没有任何尾随行。有些邮件服务器不喜欢这样。

最后要检查的是电子邮件标头中的传出 IP 地址。有时 sendmail 会输入 127.0.0.1 而不是公共 IP 地址。这在过去给我带来了问题。由于 sendmail 很难配置,我最终使用了 postfix。

另一件需要考虑的事情是,您可以尝试配置 PHP 以使用您的 Exchange 服务器发送电子邮件,而不是从 PHP 框上的本地服务器发送邮件。

相关内容