我正在寻找一种方法来在我们的开发环境中设置 SMTP 服务器,该服务器将在本地开发服务器上运行,并将收件人电子邮件地址重写为我们的调试地址,而不会影响我们网络的其余部分。我们正在使用 ColdFusion 进行开发,因此我们可以将 SMTP 服务器设置为本地主机,那么这是否应该可以防止 SMTP 服务器影响我们的 MS Exchange 2010 服务器?
显然,这个问题的第二部分是可以在 Windows 环境中使用哪种 SMTP 服务器来执行此操作?我知道在我以前的工作中,我们在开发机器上运行本地 SMTP 服务器,但我记不起我们使用的程序的名称。
大家干杯!
答案1
有几种方法可以实现此目的:
在配置文件中设置调试模式变量。如果测试结果为真,则在邮件例程中重写收件人地址。我已经在多个自定义应用程序上执行了此操作(用于各种其他特定于应用程序的调试模式以查看 SQL 输出、标题等)。
将 IIS 附带的 SMTP 虚拟服务设置为 *.com、*.net、*.org 等(基本上是您要向其发送邮件的所有 TLD)的“权威”,并将 ColdFusion 设置为使用 localhost 作为邮件服务器。SMTP 虚拟服务会将 .EML 消息放入队列,您可以使用任何邮件客户端打开和查看该消息。
为你的开发人员设置一个 Postfix 框以供使用,配置地址重写(并将您的 Exchange 框设置为智能主机)。我知道它不是您所要求的 Windows,但您可以将它放在任何旧的 Pentium 3 或 4 工作站上,因为我假设您在开发期间不会推送大量电子邮件。
答案2
您可以使用 sendmail 和 UserDB配置文件选项。