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

我使用的PHP邮件function不能完全工作。 它会很容易发送邮件给GMail。 但是,直接发送到我内部托pipe的交换服务器的电子邮件没有通过。

服务器/域设置如下。

url注册于networking解决scheme( www.independentsservice.comwww.isco.net )。

NS指导所有stream量到我们的ISP( Socket.net )。 套接字指示如下:

  • 邮件到我们的本地服务器
  • FTP到我们的本地服务器
  • HTTP到Chihost.com上托pipe的我们的网站

此外,电子邮件始于坐在chihost的服务器之外。 这是PHP执行的地方。

stream量到我们的本地服务器通过一个WatchGuard防火墙将邮件stream量路由到我们本地托pipe的Exchange服务器。

交易所不接受这些电子邮件有什么理由吗?

是基于PHP Linux或Windows的服务器? 现在我将假设它是基于Linux的。 下面的一些build议是有效的,无论如何,你只需采取一个稍微不同的方法。

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

传出的电子邮件应该有一个“返回path”标题。 如果电子邮件被Exchange拒绝,您应该在“Return-Path”中得到回复地址,说明邮件被拒绝的原因。 通常情况下,sendmail反弹最终在/ var / mail中。

使用PHP的邮件function,有几件事要记住。 你是否设置了“From:”标题? 地址是否可达? 如果你正在设置标题(至less应该设置从:)确保你的标题后没有任何尾随线。 有些邮件服务器不喜欢这个。

最后要检查的是电子邮件标题中的传出IP地址。 有时候sendmail会把127.0.0.1而不是公网IP地址。 这在过去给我造成了一些问题。 由于sendmail很难configuration,我只是最终使用了postfix。

另一个需要考虑的不是从PHP框上的本地服务器发送邮件,而是尝试configurationPHP来使用Exchange服务器发送邮件。