内部smtp服务器如何向网络上的内部邮件服务器发送邮件?

内部smtp服务器如何向网络上的内部邮件服务器发送邮件?

我们已经升级了内部公司电子邮件服务器,并且 IP 地址已在我们的网络内部更改。第二个电子邮件服务器用于发送我们提供的邮件列表服务的批量作业。

自从切换内部公司服务器 IP 以来,当批量电子邮件服务器尝试向我们自己的域发送电子邮件时,我们一直遇到问题。日志显示它仍在尝试访问旧的公司服务器而不是新的服务器。我查看了批量电子邮件软件的所有设置,没有看到任何设置可以发送到内部邮件服务器,我不记得在几年前设置时做过任何特别的事情来让它正常工作。

Win2003 或网络上是否有一个设置可以将 MX 记录外部 IP 映射到内部 IP,以便正确路由邮件?

答案1

如果您使用的是 Exchange 2003(我假设您使用的是 Windows Server 2003),您只需在批量邮件服务器上设置一个 SMTP 连接器yourdomain.com cost 1(确保您的默认 SMTP 连接器有* cost 5,否则它永远不会与新发送连接器上的 yourdomain.com 匹配)并将您的公司邮件服务器添加为智能主机。这将确保[电子邮件保护]通过公司邮件服务器进行路由;anyrecipient@*.tld 将会被正常路由出去。

编辑

您的防火墙是否已更改?MX 记录是否正确?从您的批量邮件服务器,尝试从命令提示符执行此操作:

“nslookup” 按 ENTER 然后set type=mx再次按 ENTER,输入 yourdomain.com 并首先确保 MX 记录解析正确,其次,尝试 telnet 到该 MX 记录,如下所示:

telnet <mx.record.tld> 25如果您收到回复220 Microsoft Exchange xxx(您可以输入quit退出),那么您可以通过 NAT 反射(出去并再次回来)连接到您的邮件服务器,所以问题一定出在批量邮件软件的其他地方。

如果只是您的新邮件服务器发生了变化,那么很可能您的新 Exchange 服务器不允许连接和/或您尝试从[电子邮件保护],默认情况下将被拒绝。您可以打开默认虚拟 SMTP 服务器,并在“连接和中继”设置下将中继和连接添加到“允许”列表(或者,如果批量邮件程序支持,您可以使用 SMTP 身份验证)。

如果上述两个都不是问题,而且由于您似乎只能在批量邮件服务器软件上进行配置选择,您可以在 Active Directory 中为 yourdomain.com 创建一个区域(假设您在内部使用 Active Directory 作为 DNS),然后添加一个 MX 记录,该记录解析为您的 Exchange Server 的内部 IP 地址,这样当您的批量邮件服务器查找 yourdomain.com 的 MX 记录时,它会获取内部 MX 记录(而该记录又需要解析为您的邮件服务器的内部 IP 地址)。此方法(拆分 DNS)的唯一问题是,您需要确保您的内部 DNS 区域与 yourdomain.com 的外部/Internet DNS 区域相同,否则,如果有人试图在内部访问 www.yourdomain.com 或其他任何内容,您将没有任何/正确的记录来执行此操作。

答案2

听起来您可能需要设置一个内部 DNS 服务器以供批量邮件服务器指向。

在内部 DNS 服务器上,您将为您的域分配 MX 记录到新的内部 IP 地址。然后,对于所有其他域,应将 DNS 服务器设置为转发到“常规”DNS 服务器,该服务器将能够解析域外邮件收件人的地址。

这使您可以控制域的内部 MX 记录指向的位置,同时允许正常处理对外部域的查找。

答案3

您是否尝试过将旧邮件服务器的 DNS 名称和/或 IP 指向新邮件服务器?这有点儿像黑客行为,但至少可以帮助诊断。

答案4

首先,我检查邮件服务器的配置。由于您显然没有使用内部 DNS 覆盖外部邮件地址,因此您的域的邮件服务器配置中可能存在一些异常。我不知道如何为您的服务器进行具体操作。

其次,检查批量邮件服务器上的 HOSTS 文件。这可能是 IP 被覆盖为内部地址的原因。您可能还需要清除批量邮件服务器上的 ARP 缓存。

第三,检查防火墙...来自批量邮件服务器的流量可能存在一些不正常的 NAT 规则。

另一种选择(我更喜欢并且无论如何都会这样做)是将批量服务器放在 DMZ 中,此时您应该能够在 DMZ 上设置与外部世界相同的 NAT。

相关内容