有没有办法让 Exchange 捕获来自某个内部用户的所有电子邮件并将其重定向到另一个内部邮箱,无论它是发给内部还是外部的?基本上,我们有一个内部测试环境,它将向内部的各种用户发送工作流电子邮件。我们希望使用真实地址测试系统,但不希望任何测试电子邮件发送给用户,而是将其重定向到邮箱,这样我们就可以验证电子邮件是否正确生成,而无需发送大量虚假的内部电子邮件。
以前有人做过这样的事吗?提前谢谢!
答案1
您必须制定一个集线器传输规则,检查源邮箱并将其重定向到另一个邮箱。请参见了解 Exchange 2007 中的传输规则
我必须同意 Chris 的观点。如果他们从 AD 中提取这些内容,那么他们就会获得我授予他们访问权限的任何地址。还请注意,这完全使他们在邮件路由方面所做的任何测试都无效 - 只是应用程序是否可以发送电子邮件(您可以使用简单的 powershell/vbscript/batch 文件脚本自行测试)。如果他们想看看电子邮件是否包含正确的文本,我会向他们介绍一种我喜欢称之为“校对”的新编程概念。这是一个大胆的新概念,您实际上会阅读代码,并确保它在编译并将其引入我的生产环境之前表达了它应该表达的意思
另一个可爱的可能性是,当应用程序没有按预期运行时,他们会立即询问您代码将丢失的电子邮件发送到了哪里。
答案2
Jim B 说得对。打开 Exchange 管理控制台,选择 Hub Transport,然后从控制台右侧的操作窗格中选择新传输规则。
命名您的角色,我个人会在第一次浏览时取消选中启用规则,然后设置您的条件、操作和例外情况。这就像 Outlook 中的规则和警报一样。
对于条件,您可能希望从人员中选择您正在测试的帐户,然后在操作下选择将邮件重定向到地址,然后选择要将邮件发送到的邮箱。似乎您不需要例外,因此整个过程应该需要 5 分钟才能创建。如果您有多个传输服务器,您可能需要导出规则,然后将其导入其他边缘服务器。所有这些都在 Jim B 之前发布的文章中。
答案3
可以这样做,但更好的选择是创建一些内部测试邮箱,并针对这些地址进行测试。
除非您将用户的电子邮件地址硬编码到您的应用程序中,否则这种方法是最省事的,而且是一种非常有效的测试。