如何配置 catch-all 邮箱

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2007-05-22

本主题说明如何在安装了边缘传输服务器角色的计算机上使用 Exchange 管理控制台或 Exchange 命令行管理程序配置传输规则,以便将邮件复制或重定向到 catch-all 邮箱。

“catch-all 邮箱”通常是组织中的一个邮箱,用于收集发送到组织的所有电子邮件。根据您的首选项,catch-all 邮箱可以接收所有邮件,也可以只接收发送到不存在邮箱的邮件。可以在边缘传输服务器上配置传输规则,以便将组织接收的邮件复制或重定向到 catch-all 邮箱。

若要配置 catch-all 邮箱,必须按本主题后面部分所述执行下列操作:

  • 创建邮箱

  • 禁用收件人筛选

  • 配置传输规则,以便将邮件复制或重定向到 catch-all 邮箱

开始之前

若要配置 catch-all 邮箱,必须使用边缘传输服务器上运行的传输规则。此外,还必须在这些边缘传输服务器上禁用收件人筛选。由于邮件在经过边缘规则代理之前,先经过收件人筛选器代理,所以必须这样做。为了防止收件人筛选器代理由于邮箱不存在而拒收邮件,必须禁用收件人筛选。

禁用收件人筛选之后,某些依赖于收件人筛选器代理的功能将无法再使用。在禁用收件人筛选之前,应了解运行收件人筛选器代理的好处,并了解依赖于收件人筛选器代理的功能。有关收件人筛选器代理及其如何帮助减小垃圾邮件、拒绝服务攻击 (DoS) 和其他威胁造成的影响的详细信息,请参阅收件人筛选

note注意:
收件人解析在邮件经过集线器传输服务器上的传输规则代理之前进行。因此,不能使用集线器传输服务器上的传输规则来将邮件复制或重定向到 catch-all 邮箱。

若要新建一个传输规则,以便将邮件复制或重定向到 catch-all 邮箱,请使用新建传输规则时使用的相同步骤。此步骤中的传输规则条件、例外和操作是边缘传输服务器上运行的传输规则所特有的。

有关传输规则的详细信息,请参阅传输规则概述

若要在安装了边缘传输服务器角色的计算机上执行下列步骤,必须使用作为该计算机上的本地 Administrators 组成员的帐户进行登录。

有关权限、角色委派以及管理 Exchange Server 2007 所需权限的详细信息,请参阅权限注意事项

创建邮箱

必须新建一个邮箱,用于接收通过传输规则复制或重定向到该邮箱的邮件。由于此邮箱可能会包含敏感邮件,所以,应限制对此邮箱的访问。此外,根据该邮箱接收的邮件量,可能还必须执行下列一个或两个步骤:

  • 增大邮箱配额限制。

  • 将邮件记录管理配置为自动将超过所配置期限的邮件从该邮箱中删除。

创建了邮箱之后,记下为该邮箱分配的简单邮件传输协议 (SMTP) 地址。

有关如何创建和管理 catch-all 邮箱的详细信息,请参阅下列主题:

禁用收件人筛选

必须在每台要配置传输规则,以便将邮件复制或重定向到 catch-all 邮箱的边缘传输服务器上,禁用收件人筛选。若要禁用收件人筛选,必须禁用收件人筛选器代理。下列步骤说明如何使用 Exchange 管理控制台和 Exchange 命令行管理程序来禁用收件人筛选器代理。

在边缘传输服务器上,使用 Exchange 管理控制台禁用收件人筛选

  1. 在要新建传输规则的边缘传输服务器上打开 Exchange 管理控制台。

  2. 在控制台树中,单击“边缘传输”。

  3. 在结果窗格中,单击“反垃圾邮件”选项卡。

  4. 在操作窗格中,右键单击“收件人筛选”,然后选择“禁用”。

在边缘传输服务器上,使用 Exchange 命令行管理程序禁用收件人筛选

  1. 运行以下命令:

    Disable-TransportAgent "Recipient Filter Agent"
    
  2. 系统询问您是否要执行此操作时,键入 Yes,然后按 Enter 键。

配置传输规则,以便将邮件复制或重定向到 catch-all 邮箱

创建了接收邮件的邮箱并禁用了收件人筛选之后,必须创建一个传输规则,以便将邮件复制或重定向到 catch-all 邮箱。必须在每台要复制或重定向邮件的边缘传输服务器上配置此传输规则。

在大多数使用 catch-all 邮箱的组织中,只将从组织外部的发件人接收的邮件复制或重定向到该邮箱。若要实现此功能,请使用“从组织内部或外部的用户”传输规则条件,并将该条件的值设置为“外部”。

应根据组织的要求确定将邮件复制到 catch-all 邮箱还是重定向到 catch-all 邮箱。下表说明这两项操作之间的区别:

  • 复制邮件   将邮件复制到 catch-all 邮箱时,邮件在继续发送给原收件人的同时,通过抄送或密件抄送将邮件复制到 catch-all 邮箱。如果原收件人不存在,发件人将收到未送达报告 (NDR)。

  • 重定向邮件   将邮件重定向到 catch-all 邮箱时,邮件不会继续发送给原收件人,而是只发送到 catch-all 邮箱。如果原收件人不存在,发件人不会收到 NDR。

还应配置“任何收件人地址中出现文本模式时除外”例外,以避免将发送到组织中已存在的 SMTP 地址的邮件复制或重定向到 catch-all 邮箱。此例外使用正则表达式,如果 SMTP 地址在组织中已存在,将禁止传输规则将邮件复制或重定向到 catch-all 邮箱。必须手动为该例外配置组织中的 SMTP 地址,并使用 ^$ 模式字符串将每个 SMTP 地址引起来。

有关正则表达式的详细信息,请参阅传输规则中的正则表达式

important要点:
如果在传输规则例外中配置了邮件收件人中包含的一个或多个 SMTP 地址,则不会将发送到您的组织的邮件复制或重定向到 catch-all 邮箱。即使邮件中的一个或多个 SMTP 地址在组织中不存在,也会如此。

使用 Exchange 管理控制台将邮件复制或重定向到 catch-all 邮箱

按照下列步骤配置传输规则,以便将邮件复制或重定向到 catch-all 邮箱:

在边缘传输服务器上,使用 Exchange 管理控制台将邮件复制或重定向到 catch-all 邮箱

  1. 在要新建传输规则的边缘传输服务器上打开 Exchange 管理控制台。

  2. 在控制台树中,单击“边缘传输”。

  3. 在结果窗格中,单击“传输规则”选项卡,然后在操作窗格中,单击“新建传输规则…”。

  4. 在传输规则向导的“名称”字段中,键入传输规则的名称。

  5. 如果此规则有备注,请在“注释”字段中键入备注。

  6. 如果希望此规则在创建后处于禁用状态,请清除“已启用”复选框。否则,请保持选中“已启用”复选框。

  7. 单击“下一步”。

  8. 在“步骤 1. 选择条件”框中,选择“从组织内部或外部的用户”条件。

  9. 在“步骤 2. 编辑规则说明 (单击带下划线的值)”框中,单击带有蓝色下划线的“内部”一词。

  10. 单击带有蓝色下划线的“内部”一词后,将打开一个新窗口,并出现一个下拉框。从下拉框中选择“外部”,然后单击“确定”关闭该窗口。

  11. 如果要添加条件,请现在添加。配置了所有条件之后,单击“下一步”。

  12. 在“步骤 1. 选择操作”框中,如果要将邮件复制到 catch-all 邮箱,选择“将邮件复制到地址”操作。如果要将邮件重定向到 catch-all 邮箱,选择“将邮件重定向到地址”操作。不要在同一个传输规则中同时选择这两项操作。

  13. 在“步骤 2. 编辑规则说明 (单击带下划线的值)”框中,单击带有蓝色下划线的“地址”一词。

  14. 在出现的新窗口中,键入您在前面的“创建邮箱”一节中记下的 catch-all 邮箱的 SMTP 地址,然后单击“添加”。单击“确定”关闭该窗口。

  15. 如果要配置其他操作,请现在配置。配置了所有操作之后,单击“下一步”。

  16. 在“步骤 1. 选择例外”框中,选择“任何收件人地址中出现文本模式时除外”例外。

  17. 如果在上一个步骤中选择了例外,在“步骤 2. 编辑规则说明 (单击带下划线的值)”框中,单击带有蓝色下划线的“文本模式”一词。

  18. 在出现的窗口中,输入组织中现有邮箱的所有 SMTP 地址。使用 ^$ 模式字符串将每个 SMTP 地址引起来。例如,如果 SMTP 地址为 david@contoso.com,则输入:^david@contoso.com$。输入每个 SMTP 地址之后,单击“添加”。完成之后,单击“确定”关闭该窗口。

  19. 如果要配置其他例外,请现在配置。配置了所有例外之后,单击“下一步”。

  20. 检查“配置摘要”。如果对新规则的配置感到满意,请单击“新建”,然后单击“完成”。

使用 Exchange 命令行管理程序将邮件复制或重定向到 catch-all 邮箱

若要使用 Exchange 命令行管理程序新建传输规则,以便将邮件复制或重定向到 catch-all 邮箱,必须熟悉如何使用 Exchange 命令行管理程序创建传输规则。有关详细信息,请参阅如何新建传输规则中的“使用 Exchange 命令行管理程序创建传输规则”。

若要配置传输规则,以便将邮件复制或重定向到 catch-all 邮箱,必须配置传输规则条件,通知传输规则只将操作应用于组织外部的发件人发送的邮件。为此,请在 Get-TransportRulePredicate cmdlet 中使用 FromScope 传输规则谓词。

使用 Exchange 命令行管理程序配置传输规则条件,以便只选择组织外部的发件人发送的邮件

  • 运行以下命令:

    $Condition = Get-TransportRulePredicate FromScope
    $Condition.Scope = "NotInOrganization"
    

配置了条件之后,必须配置传输规则操作。如果要将邮件复制到 catch-all 邮箱,必须使用 CopyTo 传输规则操作。如果要将邮件重定向到 catch-all 邮箱,必须使用 RedirectMessage 传输规则操作。两个操作均可以在 Get-TransportRuleAction cmdlet 中使用。您必须还要使用以下语法指定 catch-all 邮箱的 SMTP 地址:

$Action.Addresses = @("<SMTP address of catch-all mailbox>")

使用 Exchange 命令行管理程序配置传输规则操作,以便将邮件复制到 catch-all 邮箱

  • 运行以下命令:

    $Action = Get-TransportRuleAction CopyTo
    $Action.Addresses @("catch-all@contoso.com")
    

使用 Exchange 命令行管理程序配置传输规则操作,以便将邮件重定向到 catch-all 邮箱

  • 运行以下命令:

    $Action = Get-TransportRuleAction RedirectMessage
    $Action.Addresses @("catch-all@contoso.com")
    

运行了上述命令之后,必须配置例外,以避免将发送到组织中已存在的 SMTP 地址的邮件复制或重定向到 catch-all 邮箱。为此,请在 Get-TransportRulePredicate cmdlet 中使用 AnyOfRecipientAddressMatches 传输规则谓词。您必须还要使用以下语法指定组织中已存在的 SMTP 地址:

$Exception.Addresses = @("^<Existing SMTP address 1>$", "^<Existing SMTP address 2>$", ...)

使用 Exchange 命令行管理程序配置传输规则例外,以避免复制或重定向发送到组织中已存在的现有 SMTP 地址的邮件

  • 运行以下命令:

    $Exception = Get-TransportRulePredicate AnyOfRecipientAddressMatches
    $Exception.Patterns = @("^david@contoso.com$", "^brian@contoso.com$", "^ray@contoso.com$")
    

最后,必须使用 New-TransportRule cmdlet 创建传输规则,并指定已配置的每个条件、操作和例外。

使用 Exchange 命令行管理程序创建传输规则,以便将邮件复制或重定向到 catch-all 邮箱

  • 运行以下命令:

    New-TransportRule -Name "Copy messages to a catch-all mailbox" -Conditions @($Condition) -Actions @($Action) -Exceptions @($Exception)
    

示例:使用 Exchange 命令行管理程序创建的传输规则

下列步骤说明如何使用 Exchange 命令行管理程序创建传输规则,以便将邮件复制或重定向到 catch-all 邮箱。

在边缘传输服务器上,使用 Exchange 命令行管理程序将邮件复制到 catch-all 邮箱

  • 运行以下命令:

    $Condition = Get-TransportRulePredicate FromScope
    $Condition.Scope = "NotInOrganization"
    $Action = Get-TransportRuleAction CopyTo
    $Action.Addresses = @("catch-all@contoso.com")
    $Exception = Get-TransportRulePredicate AnyOfRecipientAddressMatches
    $Exception.Patterns = @("^david@contoso.com$", "^brian@contoso.com$")
    New-TransportRule -Name "Copy messages to catch-all mailbox" -Conditions @($Condition) -Actions @($Action) -Exceptions @($Exception)
    

在边缘传输服务器上,使用 Exchange 命令行管理程序将邮件重定向到 catch-all 邮箱

  • 运行以下命令:

    $Condition = Get-TransportRulePredicate FromScope
    $Condition.Scope = "NotInOrganization"
    $Action = Get-TransportRuleAction RedirectMessage
    $Action.Addresses @("catch-all@contoso.com")
    $Exception = Get-TransportRulePredicate AnyOfRecipientAddressMatches
    $Exception.Patterns = @("^david@contoso.com$", "^brian@contoso.com$")
    New-TransportRule -Name "Redirect messages to catch-all mailbox" -Conditions @($Condition) -Actions @($Action) -Exceptions @($Exception)
    

详细信息

有关每个命令的语法和参数的详细信息,请参阅下列主题:

有关传输规则的详细信息,请参阅下列主题: