SMTP 服务器强制出站流量

SMTP 服务器强制出站流量

当我尝试通过互联网使用 PHP 向域电子邮件地址发送电子邮件时,我在 Windows Server 2003 计算机上设置 SMTP 服务器时遇到了一些问题。

常见信息:

  • 计算机装有 Windows Server 2003 Server
  • 域上的机器 (mydomain.com)
  • 计算机不是域控制器
  • 机器通过互联网访问域控制器(WAN 与互联网提供商在机器网关上设置的企业 VPN 链接 - adsl 调制解调器/路由器)
  • 电子邮件地址使用相同的后缀 (mydomain.com)
  • 无权访问域控制器配置

第一种情况

  • TCP/IP DNS:第一个 192.168.200.xxx 第二个 8.8.8.8
  • 直接访问域控制器即可正常运行
  • 使用 localhost 发送 PHP 邮件到[电子邮件保护]不起作用,因为远程邮件服务器拒绝来自内部流量的电子邮件(显然!?!)

第二种情况

  • TCP/IP DNS:第一个 8.8.8.8 第二个 192.168.200.xxx(切换
  • 直接访问域控制器不是功能正常,仅本地帐户可用
  • 使用 localhost 发送 PHP 邮件到[电子邮件保护] 工作,因为远程邮件服务器是通过其互联网/外部地址访问的。

因此,我需要的是(1)访问域控制器和(2)使用 localhost 向[电子邮件保护]帳戶工作。

有什么建议吗?提前致谢

答案1

我使用 hMailserver 将 SMTP 流量路由到我想要的电子邮件服务器,并禁用 IIS SMTP 服务器。

无论如何,感谢您的意见

答案2

由于 192.168.200.xxx 处的 DNS 是本地的,因此它可能将主机名解析为本地 (192.168.200.xxx) IP 地址。8.8.8.8 处的 DNS 是外部的,因此它将主机名解析为其 FQDN。

最好的解决方案是让您的出站邮件服务器重写发件人的地址以使用 FQDN 而不是本地主机/网络名称。

答案3

我可能完全误解了您的意思,但我建议将 php.ini 中的 smtp 主机设置设置为您的 ISP smtp 服务器,如下所示;

; http://www.php.net/manual/en/mail.configuration.php#ini.smtp
SMTP = your-smtp-server.yourisp.com

然后,在场景 1) 中,php 将向外部发送电子邮件,并且不会被与 MX 记录同名的 AD 域混淆[电子邮件保护]

相关内容