如何在 Windows Server 2003 上设置 SMTP 以将所有电子邮件转发到给定地址?

如何在 Windows Server 2003 上设置 SMTP 以将所有电子邮件转发到给定地址?

我正在设置一个内部 SMTP 服务器来处理涉及发送电子邮件的软件测试。

我想配置服务器,以便将发送到 myinternaldoamin.com 的任何电子邮件转发(这是正确的术语吗?)到我们的真实/主 SMTP 服务器(同一网络上的另一台机器)。发送到任何其他域的电子邮件都需要转发到[电子邮件保护]- 所以他们实际上并没有去找真人,我想把他们困在这个帐户上只是为了测试。

这可能吗?

如果可以的话,有人可以快速指导我如何操作吗?

编辑:如果我所问的问题无法通过我所问的方式实现,那么我愿意接受有关如何实现相同效果的建议。

谢谢

安德鲁

答案1

不仅可能,而且很容易:-)

不幸的是,我手边没有一台只带有 SMTP 服务的服务器(只有 Exchange,这会干扰 SMTP 配置界面)。从内存中,如果您进入 SMTP 服务器配置,您可以添加域,并为您添加的每个域配置邮件传递。域可以是本地的,在这种情况下,邮件存储在您的服务器上,也可以是远程的。对于远程域,您可以将邮件配置为路由到不同的服务器。

因此,您只需将域 myinternaldoamin.com 设置为远程域,并配置邮件以传递到您的“真实”邮件服务器。

JR

编辑:

Windows SMTP 服务器无法修改邮件头。它只能传递未经更改的邮件。但是 Windows SMTP 服务器允许您编写事件接收器。这些是 VBScript 的片段,每当邮件通过服务器时都会执行,并且您可以从此代码对电子邮件进行任何您想要的更改。这通常用于实现一个万能邮箱,因为 Windows SMTP 服务器和 Exchange 2k/2k3 都没有提供此功能。我会谨慎地为生产服务器编写同步程序,因为您必须确保其中没有错误并且您彻底记录它们。但是对于您建议的用途,它们应该没问题。

http://support.microsoft.com/kb/324021是一个很好的起点。这描述了为 Exchange 编写一个 catchall 脚本,但您应该能够根据您的要求对其进行调整。

JR

答案2

Windows 附带的 SMTP 服务器无法操纵标头字段(RFC822 或信封)来“路由”邮件。它可以中继和发送 SMTP,仅此而已。如果您需要功能更齐全的 SMTP 服务器实现,则必须另寻他处。

如果您需要“免费”使用,您可以将 Exim 的 Cygwin 端口视为一种可能的解决方案。您还可以在 VM 中运行 *nix / Linux 实例,并在该平台上使用您想要的任何免费 SMTP 服务器。

答案3

内置的 IIS SMTP 支持很差劲。最好安装任何好的自由的电子邮件服务器,如 HMail 或 MailEnable(我们使用 MailEnable 并且对它很满意)。

相关内容