如何为具有空主题的邮件配置新传输规则
适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
上一次修改主题: 2007-04-13
本主题将介绍如何使用 Exchange 管理控制台或 Exchange 命令行管理程序配置传输规则,以对具有空主题行的电子邮件执行操作。此过程可以在安装了集线器传输服务器角色或边缘传输服务器角色的计算机上使用。
开始之前
若要新建用于对具有空主题行的电子邮件执行操作的传输规则,可使用与新建传输规则相同的过程。传输规则操作在集线器传输服务器和边缘传输服务器上可用。可以使用这些操作修改符合指定条件的邮件的传递或邮件内容。
有关传输规则的详细信息,请参阅传输规则概述。
若要执行下列步骤,必须为您使用的帐户委派下列角色:
- Exchange 组织管理员角色
若要在安装了边缘传输服务器角色的计算机上执行以下步骤,必须使用作为该计算机上的本地 Administrators 组成员的帐户进行登录。
有关管理 Microsoft Exchange Server 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项。
警告: |
---|
本主题将介绍如何新建传输规则。在生产环境中配置新的传输规则之前,请使用测试环境了解如何新建传输规则并对其进行全面测试。若要在生产环境中运行以下步骤,应对这些过程进行相应修改以使其支持您所在的组织。 |
要点: |
---|
若要对电子邮件应用传输规则,必须存在一个路由,以允许邮件传入和传出应用传输规则的服务器。而且,此邮件不能受制于管理员配置的用于阻止邮件传递的传输限制。如果传输限制禁止传递邮件,则传输规则代理将无法处理该邮件,也不会记录任何传输规则代理事件。 |
^$ 正则表达式
为检测具有空主题行的邮件,下列步骤使用了 ^$
正则表达式。此正则表达式由两个模式字符串组成,即 ^
和 $
。在正则表达式中使用模式字符串可在邮件的文本动态更改时与该文本中的模式相匹配。当 ^
和 $
模式字符串按照此顺序使用时,传输规则条件仅匹配这两个模式字符串之间的确切字符串。由于在 ^$
正则表达式的 ^
和 $
模式字符串之间没有字符串,因此该正则表达式仅匹配空字符串,如空主题行。
有关正则表达式的详细信息,请参阅传输规则中的正则表达式。
使用 Exchange 管理控制台为具有空主题行的邮件新建传输规则
以下步骤说明如何在集线器传输服务器或边缘传输服务器上的 Exchange 管理控制台中打开传输规则向导,然后新建传输规则对具有空主题行的电子邮件执行操作。打开传输规则向导之后,对于集线器传输服务器和边缘传输服务器,执行的步骤是相同的。
在集线器传输服务器的 Exchange 管理控制台中打开传输规则向导
在集线器传输服务器上打开 Exchange 管理控制台。
在控制台树中,单击“组织配置”,再单击“集线器传输”。
在结果窗格中,单击“传输规则”选项卡,然后在操作窗格中单击“新建传输规则…”。
在边缘传输服务器的 Exchange 管理控制台中打开传输规则向导
在要新建传输规则的边缘传输服务器上打开 Exchange 管理控制台。
在控制台树中,单击“边缘传输”。
在结果窗格中,单击“传输规则”选项卡,然后在操作窗格中单击“新建传输规则…”。
使用 Exchange 管理控制台在传输规则向导中为具有空主题行的邮件新建传输规则
在传输规则向导的“名称”字段中,键入传输规则的名称。
如果此规则有备注,请在“注释”字段中键入备注。
如果希望此规则在创建后处于禁用状态,请清除“已启用”复选框。否则,请将“已启用”复选框保留在选中状态。
单击“下一步”。
在“步骤 1. 选择条件”框中,选择“‘主题’字段包含文本模式时”条件。
在“步骤 2. 编辑规则说明(单击带下划线的值)”框中,单击“文本模式”带蓝色下划线的词。
单击“文本模式”带蓝色下划线的词后,会出现一个新窗口,提示您输入应用于该条件的值。键入 ^$,然后单击“添加”。单击“确定”关闭窗口,然后单击“下一步”。
在“步骤 1. 选择操作”框中,选择要应用于此规则的所有操作。
在“步骤 2. 编辑规则说明(单击带下划线的值)”框中,单击各个带蓝色下划线的词。
在显示的新窗口中,选择要应用的项目,或手动键入这些值,然后单击“确定”关闭该窗口。
对选择的每个操作重复以上步骤。配置所有操作之后,单击“下一步”。
在“步骤 1. 选择异常”框中,选择要应用于此规则的所有异常。选择异常并不是必须执行的操作。
如果在上一个步骤中选择了异常,请在“步骤 2. 编辑规则说明(单击带下划线的值)”框中,单击各个带蓝色下划线的词。
单击带蓝色下划线的词之后,会出现一个新窗口,提示您选择要添加的项目或手动键入这些值。完成之后,单击“确定”关闭该窗口。
对选择的每个异常重复以上步骤。配置所有异常之后,单击“下一步”。
检查“配置摘要”。如果对新规则的配置感到满意,请单击“新建”,然后单击“完成”。
使用 Exchange 命令行管理程序为具有空主题行的邮件新建传输规则
若要使用 Exchange 命令行管理程序新建传输规则,对具有空主题行的邮件应用传输规则操作,请参阅如何新建传输规则中的“使用 Exchange 命令行管理程序创建传输规则”部分。
添加空主题行条件
以下步骤说明如何添加传输规则条件来检测具有空主题行的邮件并对这些邮件应用操作。
使用 Exchange 命令行管理程序检测具有空主题行的邮件
运行以下命令:
$Condition = Get-TransportRulePredicate SubjectMatches $Condition.Patterns = @("^$")
配置空主题行操作
添加空主题行条件之后,添加要对符合条件的邮件执行的传输规则操作。例如,您可能希望拒绝邮件并发送自定义未送达报告 (NDR)。在本主题中,RejectMessage
传输规则操作用来拒绝带有 NDR 的邮件。RejectMessage
传输规则操作存在集线器传输服务器角色上。
使用 Exchange 命令行管理程序选择 RejectMessage 传输规则操作
运行以下命令:
$Action = Get-TransportRuleAction RejectMessage
可修改在 NDR 的“供管理员使用的诊断信息”部分中向发件人显示的文本。此文本可提供有用的信息,使管理员了解邮件被拒绝的原因。
使用 Exchange 命令行管理程序配置出现在集线器传输服务器上 NDR 中的“供管理员使用的诊断信息”文本
运行以下命令:
$Action.RejectReason = "Sample reject reason"
还可通过指定自定义发送状态通知 (DSN) 代码修改在 NDR 的用户信息部分显示的 DSN 代码和消息。自定义 DSN 代码与自定义 DSN 邮件相关联。指定此代码很有用,可以指导用户访问指向特定策略或法规的 HTML 链接。默认情况下,将发送与 5.7.1 DSN 代码相关的 NDR。
例如,如果为具有空主题行的邮件新建传输规则,并希望在用户的邮件被拒绝时指导用户访问信息技术部门,可在 EnhancedStatusCode 属性中指定新的、未使用的、自定义 DSN 代码。指定新的自定义 DSN 代码后,必须使用 New-SystemMessage cmdlet 创建 DSN 代码并指定引用该 DSN 代码时应显示的文本。有关如何执行此任务的示例,请参阅本主题后面的“配置用于拒绝具有空主题的邮件的传输规则”部分。
注意: |
---|
RejectReason 传输规则操作仅在集线器传输服务器上可用。如果您要拒绝边缘传输服务器上具有空主题行的邮件,必须使用 SmtpRejectMessage 传输规则操作。使用 SmtpRejectMessage 传输规则操作时,只能指定 DSN 代码。您不能指定向用户或管理员显示备用邮件。有关 SmtpRejectMessage 传输规则操作的详细信息,请参阅传输规则操作中的“边缘传输服务器上支持的操作”部分。 |
有关可接受的值及 Exchange 2007 如何将 DSN 代码与传输规则相关联的详细信息,请参阅将 DSN 邮件与传输规则关联。
使用 Exchange 命令行管理程序通过在集线器传输服务器上指定自定义 DSN 代码配置 NDR 中的用户信息文本
运行以下命令:
$Action.EnhancedStatusCode = "5.7.228"
有关这些操作属性的详细信息,请参阅传输规则操作。
为具有空主题行的邮件新建传输规则
配置了条件、异常和操作之后,新建用于强制执行传输规则的传输规则。
使用 Exchange 命令行管理程序新建用于拒绝具有空主题行的邮件的传输规则
运行以下命令:
New-TransportRule -Name "Sample Blank Subject Transport Rule" -Condition @($Condition) -Action @($Action)
配置用于拒绝具有空主题的邮件的传输规则
以下示例说明如何应用拒绝集线器传输服务器上具有空主题的邮件的传输规则。
注意: |
---|
此传输规则使用自定义 DSN 代码和消息。本示例中的 New-SystemMessage 命令创建了自定义 DSN 代码和消息。有关详细信息,请参阅将 DSN 邮件与传输规则关联。 |
使用 Exchange 命令行管理程序配置用于拒绝集线器传输服务器上具有空主题的邮件的传输规则
运行以下命令:
$Condition = Get-TransportRulePredicate SubjectMatches $Condition.Patterns = @("^$") $Action = Get-TransportRuleAction RejectMessage $Action.RejectReason = "Messages must have a subject in the subject line or they are rejected." $Action.EnhancedStatusCode = "5.7.228" New-SystemMessage -DsnCode 5.7.228 -Internal $True -Language En -Text "This message was rejected because it did not have a subject in the subject line. For more information, please contact the Information Technology department." New-TransportRule "Blank Subject Transport Rule" -Condition @($Condition) -Action @($Action)
详细信息
有关每个命令的语法和参数的详细信息,请参阅下列主题:
有关传输规则的详细信息,请参阅下列主题: